我是python的新手,我在线上看到了这一行代码。我还不太完全了解。希望您能帮我解释一下。
[item for list in total_list for item in list]
答案 0 :(得分:2)
等效代码为:
l = []
for list in total_list:
for item in list:
l.append(item)
这种特定的理解有两个for循环,下面是一个示例:
>>> [i*i for i in range(5)]
[0, 1, 4, 9, 16]
在左侧,将要“附加”的值放在列表中,在右侧的是for循环(或从左到右的顺序为多个for循环)。列表(和字典)理解是python的一项功能,它提供了一种更优雅,更有效的方法来构建字典/列表。它们非常强大,您应该在任何时候都可以使用它们(它比使用for循环和附加功能更具Python感)。
仅当给定条件为True时,您也可以选择“追加”到列表。例如,假设我们只想在数字为偶数时“追加”:
>>> [i for i in range(6) if i % 2 == 0]
[0, 2, 4]
在这种情况下,等效代码为:
l = []
for i in range(6):
if i % 2 == 0:
l.append(i)