用Python按顺序选择行

2024-09-24 22:29:58 发布

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

我正在寻找一个解决方案,以便我的循环选择。我的问题是,当选择行时,这些行不会被排序。所以我想找到所有匹配的行,然后处理它们,根据下一个关键字找到下一个匹配的行。另一方面,我想首先找到所有匹配行,然后根据下一个关键字找到所有匹配行。最后我想指出的是,我不想把结果附加在不同的变量中,因为我有许多关键字。你知道吗

我的问题有一个简单的例子:

key_word=['one', 'two']
list=['one1', 'one2', 'two1', 'two2', 'two3', 'one3']

for i in list:
    for word in key_word:
        if (word in i):
            print (i) 

我的输出:

one1
one2
two1
two2
two3
one3

我想要的输出:

one1
one2
one3
two1
two2
two3

Tags: keyinfor排序关键字解决方案listword
3条回答

只要改变循环的顺序。你知道吗

key_word=['one', 'two']
lst=['one1', 'one2', 'two1', 'two2', 'two3', 'one3']


for word in key_word:
    for i in lst:
        if (word in i):
            print (i) 

快速使用列表理解

key_word=['one', 'two']
lst=['one1', 'one2', 'two1', 'two2', 'two3', 'one3']

print("\n".join(sorted([x for x in lst if key_word[0] in x or key_word[1] in x])))

首先获取包含关键字的所有项的列表,然后遍历它们。 以下是如何做到这一点:

key_word=['one', 'two']
lst=['one1', 'one2', 'two1', 'two2', 'two3', 'one3']


for i in key_word:
    l = [k for k in lst if i in k]

    for word in l:
        print(word)

相关问题 更多 >