If-Else List Perrehension
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了If-Else List Perrehension相关的知识,希望对你有一定的参考价值。
所以现在我有三个列表:
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
有什么办法可以使用列表理解来完成所有这些过程吗?尤其是当if-else
列表与tmp
和list1
(Python3.7)结合时,list2
部分
答案
在你的情况下,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
。当然,如果需要,您可以轻松构建它们。
另一答案
也许你可以采用最长的长度并填充它,如果超过例如:
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'
。
以上是关于If-Else List Perrehension的主要内容,如果未能解决你的问题,请参考以下文章