您如何使用嵌套列表理解完成以下序列

How do you accomplish the following sequence with a nested list comprehension

如何在 python3 中使用以下序列创建嵌套循环列表理解?

我想完成这个

for x in range(2):
    for y in range(2):
        print((x,y))
    print("hi")

(0, 0) (0, 1) 你好 (1, 0) (1, 1) 嗨

但是,我只能走到这一步......

[ print((x,y))
    for x in range(2)
    for y in range(2)
]

(0, 0) (0, 1) (1, 0) (1, 1)

谢谢!!!

列表理解不能替代正常的 for 循环。在其中使用具有副作用(例如 print)的函数也不是最佳实践。话虽如此,这是一种(相当复杂的)实现您所追求的方式:

>>> print([y if y == "hi" else (x, y) for x in range(2) for y in list(range(2)) + ["hi"]])
[(0, 0), (0, 1), 'hi', (1, 0), (1, 1), 'hi']

或者,如果您坚持在推导式中包含 print

[print(y if y == "hi" else (x, y), end=" ") for x in range(2) for y in list(range(2)) + ["hi"]]