python 判断某个值是否存在于列表/数据框中,A in B ?
程序员文章站
2022-09-21 14:34:20
持续更新总结ingA is in B 中 ?一、当A是字符串or数字,B也是一个值时, ==A = '8'B = 8A == B #False eval(A) == B #True字符串转数字: int(),或者eval()直接去除引号;数字转字符串:str()二、 当A是单个值,B是列表时, inA = 8B = [1,2,3]A in B >> False三、当A是单个值,B是pandas的Series时,a = pd.Series(['...
持续更新总结ing
A in B ?
一、当A是字符串or数字,B也是一个值时, ==
A = '8'
B = 8
A == B #False
eval(A) == B #True
字符串转数字: int(),或者eval()直接去除引号;
数字转字符串:str()
二、 当A是单个值,B是列表时, in
A = 8
B = [1,2,3]
A in B
>> False
三、当A是单个值,B是pandas的Series时,
a = pd.Series(['1','2','3','8','5'])
b = pd.Series([5,78,8,9])
c = a.astype('int64')
我们想用in来判断:
for i in b :
if i in c:
print('c列表里有:',i)
>> #无结果
解决方案
方法一:当B是Series用in时一定要加values,否则就是在和B.index比较。
for i in b :
if i in c.values :
print('c列表里有:',i)
>> c列表里有: 5
c列表里有: 8
方法二: 采用any函数
for i in b :
if (i == c.values).any() :
print('c列表里有:',i)
>> c列表里有: 5
c列表里有: 8
本文地址:https://blog.csdn.net/wenniewennie/article/details/109644957