Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 挣扎于字符串到列表的转换_Python_String_List - Fatal编程技术网

Python 挣扎于字符串到列表的转换

Python 挣扎于字符串到列表的转换,python,string,list,Python,String,List,我已收到字符串格式的输入: """4 101,CS101,10 101,CS102,20 102,CS102,30 102,CS101,10""" 我想把它转换成一个列表的格式 [["101","101","102","102"], ["CS101","CS102","CS102","C

我已收到字符串格式的输入:

"""4
101,CS101,10
101,CS102,20
102,CS102,30
102,CS101,10"""
我想把它转换成一个列表的格式

[["101","101","102","102"], ["CS101","CS102","CS102","CS101"], ["10","20","30","10"]]
我试着用拉链,但没能做到。
提前感谢。

阅读行,然后使用
zip
通过配对每行以另一种方式阅读:

v=“”4
101,CS101,10
101、CS102、20
102,CS102,30
102、CS101、10“
rows=[row.splitlines()[1:]
cols=列表(zip(*行))
#行['101',CS101',10'],['101',CS102',20'],['102',CS102',30'],['102',CS101',10']]
#cols[('101','101','102','102'),('CS101','CS102','CS102','CS101'),('10','20','30','10')]

读取行,然后使用
zip
通过配对每行以另一种方式读取:

v=“”4
101,CS101,10
101、CS102、20
102,CS102,30
102、CS101、10“
rows=[row.splitlines()[1:]
cols=列表(zip(*行))
#行['101',CS101',10'],['101',CS102',20'],['102',CS102',30'],['102',CS101',10']]
#cols[('101','101','102','102'),('CS101','CS102','CS102','CS101'),('10','20','30','10')]
试试这个:

s = """4
101,CS101,10
101,CS102,20
102,CS102,30
102,CS101,10"""

l = s.replace('4','').replace('\n', ',')[1:].split(',')
cols = [l[n::3] for n in range(int(len(l)/4))]

#[['101', '101', '102', '102'], ['CS101', 'CS102', 'CS102', 'CS101'],
#['10', '20', '30', '10']]
试试这个:

s = """4
101,CS101,10
101,CS102,20
102,CS102,30
102,CS101,10"""

l = s.replace('4','').replace('\n', ',')[1:].split(',')
cols = [l[n::3] for n in range(int(len(l)/4))]

#[['101', '101', '102', '102'], ['CS101', 'CS102', 'CS102', 'CS101'],
#['10', '20', '30', '10']]

你接受的解决方案不是很好,它对你的情况非常具体,它使用循环,在那里它不应该和无用地迭代内容,并且考虑到另一个答案不是最好的,你会考虑为这个选择给出论证吗?也可以考虑其他用户,他们会认为这是一个很好的代码实践,而不是你所接受的解决方案不是很好,它对你的情况非常具体,它使用循环,在那里它不应该和无用地重复内容,并且考虑到另一个答案不是最好的,你会考虑为这个选择辩解吗?还可以考虑其他用户,他们会认为这是一个很好的代码实践,而不是