我有两个二进制列表,有没有更好的方法将包含更多 1 的二进制列表分配给变量 moreOnes?波纹管是我的尝试。
moreOnes = []
for i in len(list1):
if list1.count(1) > list2.count(1):
moreOnes = list1
else:
moreOnes = list2
您可以使用带有 lambda 表达式的 max 函数作为键:
moreOnes = max(list1, list2, key=lambda x: x.count(1))
如果你想要包含更多 1 的列表,你不需要那个循环,只需要里面的if
语句。如果你想要它更简洁,你也可以做:
moreOnes = list1 if list1.count(1) > list2.count(1) else list2