Python: 在获取索引的同时解包内层嵌套元组/列表
我对使用 enumerate()
这个函数很熟悉:
>>> seq_flat = ('A', 'B', 'C')
>>> for num, entry in enumerate(seq_flat):
print num, entry
0 A
1 B
2 C
我想对一个嵌套列表做同样的事情:
>>> seq_nested = (('A', 'Apple'), ('B', 'Boat'), ('C', 'Cat'))
我可以用下面的方法来解包它:
>>> for letter, word in seq_nested:
print letter, word
A Apple
B Boat
C Cat
那我应该怎么解包才能得到以下结果呢?
0 A Apple
1 B Boat
2 C Cat
我知道的唯一方法是用一个计数器来增加,这在Python中不太优雅。我想知道有没有更好的方法?
1 个回答
88
在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后在另一个地方使用这些数据。这就像从一个箱子里拿东西,然后把它放到另一个箱子里。
有些时候,我们会用到“函数”。函数就像一个小工具,可以帮助我们完成特定的任务。比如说,我们可以有一个函数专门用来计算两个数字的和。每次我们需要计算时,就可以调用这个函数,而不需要每次都写一模一样的代码。
在编程的世界里,代码就像是给计算机的指令。我们写代码,告诉计算机该做什么。计算机会按照我们的指令一步一步地执行。
有时候,代码中会有一些占位符,比如
for i, (letter, word) in enumerate(seq_nested):
print i, letter, word
,它们是用来表示某些特定的代码片段。我们在讨论时可以用这些占位符来简化表达,等到真正需要的时候再填上具体的代码。