我有一个这样的项目列表:
[['1 2 3 4 5', '6 7 8 9 10'], ['1 2 3 4 5', '6 7 8 9 10']]
我想把它变成这样:
[[['1', '2', '3', '4', '5'],
['6', '7', '8', '9', '10']],
[['1', '2', '3', '4', '5'],
['6', '7', '8', '9', '10']]
到目前为止我有这段代码:
for list in mylists[]:
for items in list[]:
items = items.split()
print items
print mylists
我遇到的问题是
print items
按应有的方式打印列表列表(我希望它看起来如何),然后
print mylists
以原始形式打印列表列表(项目列表的原始列表)。
看起来对列表的适当编辑没有保留,好像编辑超出了范围。我怎样才能保留编辑?
我知道这段代码看起来很困惑,所以如果您需要澄清,请发表评论。
请您参考如下方法:
使用 map 或 comprehensions 构建新列表:
split_mylists = [[e.split() for e in x] for x in mylists]
如果你想就地编辑,你需要替换内部数组的元素:
mylists = [['1 2 3 4 5', '6 7 8 9 10'], ['1 2 3 4 5', '6 7 8 9 10']]
for sublist in mylists:
for i, items in enumerate(sublist):
sublist[i] = items.split()
print mylists
在您的代码中(如果它在语法上是正确的),您将替换局部变量 items 的值,它不会反射(reflect)(有点不幸的命名)列表 的内容>列表。
编辑变量名称更改,并阐明第一个片段构建了一个新列表。
