我有一个数字字符串列表,像这样
["1", "2 3", "4 5 6"]
我想把这个列表变成多个其他列表,所以它看起来像这样
["1"] ["2 3"] ["4 5 6"]
是一个单独的列表。我该怎么做呢?
对于上下文,这些字符串将被拆分并转换为整数,因此最终结果将以
结束。[1] [2,3] [4,5,6]
但这不是这个问题的一部分,因为我知道如何从步骤2到步骤3。
我发现了一个类似的帖子,但是我不知道如何像答案建议的那样使用字典或列表推导。我知道字典是如何工作的,但我对列表理解有点不太在行,所以如果有简单的方法可以做到这一点,我很抱歉。搜索诸如"创建多个列表在for循环python"并"从其他列表中创建列表"只领我到邮局联系。
你可以这样做:
sample = ['1', '2 3', '4 5 6']
new_list = []
for i in sample:
new_list.append([i])
输出如下:
[['1'], ['2 3'], ['4 5 6']]
然而,您的整个目标可以在同一个循环中简洁地完成:
for i in sample:
new_list.append([int(j) for j in i.split()])
输出:
[[1], [2, 3], [4, 5, 6]]
如果您想获得更python化的代码(尽管在我的测试中速度较慢),您可以这样做:
new_list = [[int(j) for j in i.split()] for i in sample]
最好将新列表存储在列表或字典中。如果你选择列表方式,你可以说
[[s] for s in ["1", "2 3", "4 5 6"]]
变量s
成为每个字符串,和[s]
所说的一个列表。
代码给你
[['1'], ['2 3'], ['4 5 6']]