python 怎么把[1,2,3,4,5,6,7,8,9]变成[1 2 3,4 5 6, 7 8 9]

python版本是3.8的
怎么把列表里面的数据按指定的符号分隔成另一个列表,比如[1,2,3,4,5,6,7,8,9]变成[1 2 3,4 5 6, 7 8 9]

[1 2 3,4 5 6, 7 8 9]这个格式在python里面是有问题的,除非将1 2 3转为字符串'123',或者用一个列表表示,转换过程可以看看

records = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
result = []
for y in range(0, 4):
    for x in range(0, 3):
        if x == 0:
            result.append([])
        result[y].append(records[x + y * 3])
print(result)

img

如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢

你好,这个可以用numpy的reshape来做:

import numpy as np
a = np.array([1,2,3,4,5,6,7,8,9])
b = a.reshape([3,3])
print(b)

结果是:

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

这就类似于matlab里面的reshape
当然,你需要转置的结果的话,你也可以把b转置

b = b.T

希望能够帮到你,有用还请题主给个采纳支持一下

你这指定了什么符号,没有指定任何符号啊,你是按什么规律这么分的呢

修改了下,如果符合要求,请采纳,有问题可以讨论,^_^


def ListSplit(a,b,c):
    '''
    a: 需要处理的list.
    b: 需要切割的单元个数,按题主要求填写3即可
    c: 分割符号
    '''
    mid=''
    a_newlist=[]
    if type(a) == list and b>0:
        for i in range(0,len(a)):
            if (i+1) % b==0:
                mid+=str(c)+str(a[i])
                a_newlist.append(mid)
                mid=''
            elif (i+1) % b==1:
                mid+=str(a[i])
            elif (i+1) % b >1 and (i+1) % b<b:
                mid+=str(c)+str(a[i])
                
        if mid != '':
            a_newlist.append(mid)
    return a_newlist        
            
if __name__ == "__main__":
    list1=[1,2,3,4,5,6,7,8,9]
    list2=ListSplit(list1, 3," ")
    print(list2)

img


你要字符串就把int去掉,要数字就是这样