我该如何用速记的方式写下这段代码:
bigger_list=[]
for item in items:
new_list = item.nested_items
bigger_list += new_list我试过了,但不起作用。
bigger_list += [item.nested_items for item in items]发布于 2021-05-04 20:08:11
bigger_list = [i.nested_item for i in items]发布于 2021-05-04 21:35:31
看起来您正试图从许多较小的nested_items列表(可迭代)中创建一个“合并”的bigger_list。我相信你想要做的是:
bigger_list=[]
for item in items:
bigger_list.extend(item.nested_items)可能会有一些通过理解来尝试这一点的诱惑,因为他们往往会变得短小和流汗:
bigger_list=[]
foo = [bigger_list.extend(item.nested_items) for item in items]但是理解是用来创建列表的,而不是扩展列表。不要使用这样的理解。请参阅:Is it Pythonic to use list comprehensions for just side effects?
如果您仍然热衷于使用理解,您可以执行以下操作,但我认为它远不如简单的 for**:**那么容易理解
bigger_list = [nested_item for item in items for nested_item in item.nested_items]如果意图是bigger_list是一个列表列表,或者nested_items不是可迭代的,那么@rishin给出的答案就是你想要的。
https://stackoverflow.com/questions/67384433
复制相似问题