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

2024-04-20 00:04:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个二进制列表,有没有更好的方法将包含更多1的二进制列表分配给变量moreone?下面是我的尝试

    moreOnes = []
    for i in len(list1):
      if list1.count(1) > list2.count(1):
        moreOnes = list1
      else:
        moreOnes = list2


2条回答

可以将带有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

相关问题 更多 >