有没有更好的方法可以将计数函数应用于两组列表?



我有两个二进制列表,有没有更好的方法将包含更多 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

最新更新