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)
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢
你好,这个可以用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)