[英]How to convert a for loop to a list comprehension in python
我有一個嵌套的for循環,我想將其轉換為python中的列表理解。 我怎樣才能做到這一點
all_combinations = []
for i in range(0,size):
for j in range(i,size):
if i!=j:
all_combinations.append((i,j))
所有其他答案都回答了您的問題,但我想提出一個更好的替代方法itertools.combinations
:
from itertools import combinations
print(list(combinations(range(3), 2)))
# [(0, 1), (0, 2), (1, 2)]
為什么會更好?
range(3)
。 all_combinations = [(i,j) for i in range(size) for j in range(i,size) if i!=j]
清單理解:
all_combinations = [ (i,j) for i in range(0,size) for j in range(i,size) if i!=j ]
為什么不只是
all_combinations = [(i,j) for i in range(size) for j in range(i+1,size) ]
不需要if測試,因為它永遠不會包含(i,i)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.