我正在尝试在列表列表中使用以下代码来创建新的列表列表,其新元素是旧列表中列表中元素的特定组合...如果这有意义!这是代码:
for index, item in outputList1:
outputList2 = outputList2.append(item[6:].extend(outputList1[index+1][6:]))
Run Code Online (Sandbox Code Playgroud)
但是,我收到"解压缩的值太多"错误.我似乎甚至得到以下代码的错误:
for index, item in outputList1:
pass
Run Code Online (Sandbox Code Playgroud)
我能做错什么?
Car*_*ers 20
该for语句迭代迭代 - 在列表的情况下,它逐个遍历内容,因此在每次迭代中,一个值可用.
使用时,for index, item in list:您尝试将一个值解压缩为两个变量.这将适用for key, value in dict.items():于以任意顺序迭代dicts键/值.由于您似乎想要一个数字索引,因此存在一个函数enumerate()可以获取可迭代的值,以及它的索引:
for index, item in enumerate(outputList1):
pass
Run Code Online (Sandbox Code Playgroud)
编辑:由于你的问题的标题提到'列表列表',我应该指出,当迭代列表时,如果每个列表项本身是可迭代的,则解压缩到多个变量将起作用.例如:
list = [ ['a', 'b'], ['c', 'd'] ]
for item1, item2 in list:
print item1, item2
Run Code Online (Sandbox Code Playgroud)
这将输出:
a b c d
正如所料.这与dicts的工作方式类似,只有您可以在包含的列表中包含两个,三个或多个项目.
And*_*rew 11
你忘了使用枚举,你的意思是这样做:
for index,item in enumerate(outputList1) :
pass
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27308 次 |
| 最近记录: |