创建一个新列表,其中包含另一个列表中某些单词的以下值

2024-05-31 23:48:35 发布

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

我需要创建一个包含以下值的新列表​​从另一个列表中的某些单词

我是说,我有一个清单:

 list = ['KAZES', 'CAR', 'MOTOR', 'TWO', 'SAINT', 'MOTOR', 'DOMAIN', 'BARCELONA']

我只想创建一个包含单词“MOTOR”的下一个值的列表。就像这样:

 Motor = ['TWO','DOMAIN']

Tags: 列表domain单词carlisttwomotorsaint
3条回答

对于使用列表理解的单行解决方案:

motor = [lst[i+1] for i, word in enumerate(lst[:-1]) if word == 'MOTOR']

我重命名了两个变量:listlst,因为list是Python内置的,而Motormotor,因为Python约定是小写变量名

这是未经测试的:

def next_after (seq, key):
    it = iter(seq)
    while True:
        if next(it) == key:
            yield next(it)

result = list(next_after(my_orig_list))

我将您的list重命名为ls,因为list是python内置函数。我的方法是循环当前列表,如果遇到搜索词,我们检查以确保不在列表的末尾,然后将下一项添加到最终列表中

searchWord = 'MOTOR'

final = []
for i, e in enumerate(ls):
    if e == searchWord:
        if i + 1 < len(ls):
            final.append(ls[i + 1])

希望我能帮上忙

相关问题 更多 >