我有一个列表,如:
[ ['key1287', 'key5842', 'key3209','key5940', 'key42158', 'key43402', 'key31877', 'key51205', 'key2886'],
['key41931', 'key41931', 'key41931', 'key41931'],
['key453','key0090'],
['key45333','key5432'],
['key453313','key51432'] ]
如何逐个访问第一个和第二个索引中的元素?
提前致谢。
EDITED
假设我有许多列表的列表。列表的长度未知。假设30000.经过一些计算后,我最终想要获取列表的30和31索引的元素(一个接一个)。这些指数也是未知的。我在运行时知道它们。有人可以帮我这个吗?
再次感谢你。
答案 0 :(得分:3)
在所需位置切片并chain结果:
def get_sublist_items(the_list, index=0, n=2):
return chain.from_iterable(the_list[index:index + n])
答案 1 :(得分:0)
for key in listoflists[0]+listoflists[1]:
# do your magic
答案 2 :(得分:0)
我建议使用链:
from itertools import chain
superlist = [["a", "b"], ["c", "d"], ["e", "f"]]
for element in chain(superlist[0], superlist[1]):
print(element)
# or
for element in chain.from_iterable(superlist[0:2])
print(element)
他们都输出:
a
b
c
d
链迭代第一个列表直到完成,然后从以下开始,依此类推。 这非常有效,因为不需要创建一个新列表,它是要迭代的列表的总和。
更新
如果索引可能有所不同,您可以执行以下操作:
def get_sublist(superlist, index, n):
return chain.from_iterable(superlist[index:index + n])
for element in get_sublist(superlist, 30, 2):
print(element)
答案 3 :(得分:0)
您想要子列表的第一个和第二个元素吗?
your_list = [ ['key1287', 'key5842', 'key3209','key5940', 'key42158', 'key43402', 'key31877', 'key51205', 'key2886'],
['key41931', 'key41931', 'key41931', 'key41931'],
['key453','key0090'],
['key45333','key5432'],
['key453313','key51432'] ]
s=[(sublist[0],sublist[1]) for sublist in your_list]
print(s)
输出:
[('key1287', 'key5842'), ('key41931', 'key41931'), ('key453', 'key0090'), ('key45333', 'key5432'), ('key453313', 'key51432')]