我有这个简单的结构:
o = {
2: [0, 148, 149, 150, 151],
3: [0, 152, 153, 154, 155, 156],
4: [0, 157, 158, 159, 160],
5: [0, 161, 162, 163, 164, 165, 166]
}
......我很难尝试隔离列表中的每个数字(例如0,148,149)
如果我做了任何一种循环,我得到:
TypeError: 'int' object is not iterable
我需要做什么?
谢谢!
BTW Python 2.6
答案 0 :(得分:3)
下次,请显示失败的代码。
我猜你会做类似的事情:
for x in o:
for y in x:
print y
问题在于,如果迭代o,则得到的键不是值。你想要的是:
for key, value in o.items():
for v in value:
print v
Items返回键和值的列表作为元组,您可以迭代它。
答案 1 :(得分:2)
for循环遍历键,然后您可以使用它来查找相应的序列:
>>> o = {
2: [0, 148, 149, 150, 151],
3: [0, 152, 153, 154, 155, 156],
4: [0, 157, 158, 159, 160],
5: [0, 161, 162, 163, 164, 165, 166]
}
>>> for key in o:
seq = o[key]
print key
print seq
print
2
[0, 148, 149, 150, 151]
3
[0, 152, 153, 154, 155, 156]
4
[0, 157, 158, 159, 160]
5
[0, 161, 162, 163, 164, 165, 166]