运算符中的Python不起作用

时间:2017-08-21 15:42:50

标签: python list if-statement

我正在使用运算符中的检查列表中是否存在邮政编码值。 但是,“in”检查失败,尽管列表中存在该值:

def scrapForZipVsState():
    existingZipsDF = pd.read_csv("crosswalk.csv", error_bad_lines=False, sep=";", header=None, usecols=[0,1])

    existingZips = list(existingZipsDF[0])
    print(existingZips)
    for zp in zips: 
        cleanZip = str(zp).split('-', 1)[0]
        print(cleanZip)
        if str(cleanZip) in list(existingZips):
            print("Skipping...")
            continue

日志是:

[94163, 28255, 94163, 28255, 10017, 94163, 28255, 10017, 78288, 15129, 23285, 94163]
94163
...

这可能是个问题?感谢

1 个答案:

答案 0 :(得分:1)

列表中的值是整数,您要检查字符串的包含:

if str(cleanZip) in list(existingZips):
#  ^^^
    ...

你应该这样做:

if int(cleanZip) in list(existingZips):
    ...