簡體   English   中英

If-Else 列表理解

[英]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列表與list1list2 (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 Truenum2[i] != '0'

在您的情況下, list1list2應該與num1num2具有相同的長度。 此外,您可以稍微簡化您的語句:

result = [False] * abs(len(num1) - len(num2)) + [num != '0' for num in min(num2, num1, key=len)]

result將是您想要添加temp任何列表。 這假設您將來不需要list1list2 當然,如果需要,您可以輕松構建它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM