我使用count函数来检查3个变量中是否有2个恰好等于一个数字。在函数被调用之后,有没有一种比我下面做的更容易或更好的方法来找到与count函数中的数字不相等的变量?我正在寻找一个没有包的纯Python解决方案。
这是我当前用来获取不等于count函数参数的变量的方法:
num1 = 5
num2 = 7
num3 = 5
list = [num1, num2, num3]
if list.count(5) == 2:
for e in list:
if e != 5:
print(e)
我使用的是Python 3.7
发布于 2018-10-16 10:08:51
我不确定这是否算作“更容易”,但这样做肯定更短:
list = [5,7,5]
[x for x in list if x != 5]
发布于 2018-10-16 09:49:17
我建议使用numpy
的矢量化操作,它速度快,非常直观。
import numpy as np
a = np.array([5,7,10])
然后
>>> a == 5
array([ True, False, False])
>>> (a == 5).sum() # how many are equal to 5?
1
>>> a[a!=5]
array([ 7, 10])
当然,如果您需要纯python方法,请让我们知道。
发布于 2018-10-16 21:19:41
您想要打印计数不是2的变量
lst = [5, 7 , 5]
for i in lst:
if lst.count(i) != 2:
print(i)
# 7
或
print(*(i for i in lst if lst.count(i) != 2))
https://stackoverflow.com/questions/52826840
复制相似问题