[英]If-Else List Comprehension
所以現在我有三個列表:
list1 = [False if num1[i] == '0' else True for i in range(len(num1))]
list2 = [False if num2[i] == '0' else True for i in range(len(num2))]
tmp = [False for i in range(abs(len(list1)-len(list2)))]
我想在這些條件下組合列表:
if len(list1) > len(list2):
list2 = tmp + list2
else:
list1 = tmp + list1
有什么方法可以使用列表理解來完成所有這些過程? 尤其是將tmp
列表與list1
和list2
(Python3.7) 結合時的if-else
部分
也許您可以采用最長的長度並在超過時填充它,例如:
list_length = max(len(num1), len(num2))
list1 = [i < len(num1) and num1[i] != '0' for i in range(list_length)]
list2 = [i < len(num2) and num2[i] != '0' for i in range(list_length)]
注意我還簡化了False if num2[i] == '0' else True
到num2[i] != '0'
。
在您的情況下, list1
和list2
應該與num1
和num2
具有相同的長度。 此外,您可以稍微簡化您的語句:
result = [False] * abs(len(num1) - len(num2)) + [num != '0' for num in min(num2, num1, key=len)]
result
將是您想要添加temp
任何列表。 這假設您將來不需要list1
和list2
。 當然,如果需要,您可以輕松構建它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.