Python获取列表中不在lis中的项

2024-03-28 18:13:01 发布

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

我有一个国家名单: 国家=['United States', 'Canada', 'France', 'Japan', 'Turkey', 'Germany', 'Ghana', 'Hong Kong', 'United Kingdom']

我想得到所有不包含任何国家的行。 这是我的密码:

with open('file.txt') as f:
    lines = f.readlines()[1:5]
    a = [line.split(':') for line in lines]
    for country in countries:
        for line in a:
            if country not in line:
                print(line)

打印(行)打印所有行,而不是打印不包含国家/地区的行


Tags: inforline国家countryunitedlinesstates
2条回答

这就是^{}^{}函数的作用。你知道吗

countries = ['United States', 'Canada', 'France', 'Japan', 'Turkey', 'Germany', 'Ghana', 'Hong Kong', 'United Kingdom']
with open('file.txt') as f:
    lines = f.readlines()[1:5]
    a = [line.split(':') for line in lines]
    for line in a:
        if not any(country in line for country in countries):
            print(line)

你可以试试这个:

data = [i.strip('\n').split(":") for i in open('filename.txt')]
countries = ['United States', 'Canada', 'France', 'Japan', 'Turkey', 'Germany', 'Ghana', 'Hong Kong', 'United Kingdom']
final_data = [i for i in data if not any(b in countries for b in i)]

相关问题 更多 >