Python,嵌套列表理解

Python, nestes list comprehensions

我正在写一些代码,遇到了一个问题。

代码示例:

my_list_1 = [
            [1, 2, 3], 
            [1, 2, 3], 
            [1, 2, 3]
            ]

my_list_2 = []

for index, list in enumerate(my_list_1):
    my_list_2.append([])
    for item in list:
        my_list_2[index].append("Hello World")

print(my_list_2)

[['Hello World', 'Hello World', 'Hello World'], ['Hello World', 'Hello World', 'Hello World'], ['Hello World', 'Hello World', 'Hello World']]

我想把这个 for 循环写成一个列表理解,但我从来没有成功过。

你们知道怎么做吗?

您可以嵌套列表理解:

my_list_2 = [['hello world' for i in lst] for lst in my_list_1]

就是下面的内容,因为 my_list_2[index] 只是分配给刚刚创建的列表

my_list_2 = [
    ["Hello World" for _ in sublist]
    for sublist in my_list_1
]

对于经典的循环版本,更简单的是

my_list_2 = []
for sublist in my_list_1:
    tmp_list = []
    for item in sublist:
        tmp_list.append(f"Hello World {item}")
    my_list_2.append(tmp_list)