2024-05-31 23:48:35 发布
网友
我需要创建一个包含以下值的新列表从另一个列表中的某些单词
我是说,我有一个清单:
list = ['KAZES', 'CAR', 'MOTOR', 'TWO', 'SAINT', 'MOTOR', 'DOMAIN', 'BARCELONA']
我只想创建一个包含单词“MOTOR”的下一个值的列表。就像这样:
Motor = ['TWO','DOMAIN']
对于使用列表理解的单行解决方案:
motor = [lst[i+1] for i, word in enumerate(lst[:-1]) if word == 'MOTOR']
我重命名了两个变量:list为lst,因为list是Python内置的,而Motor为motor,因为Python约定是小写变量名
list
lst
Motor
motor
这是未经测试的:
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内置函数。我的方法是循环当前列表,如果遇到搜索词,我们检查以确保不在列表的末尾,然后将下一项添加到最终列表中
ls
searchWord = 'MOTOR' final = [] for i, e in enumerate(ls): if e == searchWord: if i + 1 < len(ls): final.append(ls[i + 1])
希望我能帮上忙
对于使用列表理解的单行解决方案:
我重命名了两个变量:
list
为lst
,因为list
是Python内置的,而Motor
为motor
,因为Python约定是小写变量名这是未经测试的:
我将您的
list
重命名为ls
,因为list
是python内置函数。我的方法是循环当前列表,如果遇到搜索词,我们检查以确保不在列表的末尾,然后将下一项添加到最终列表中希望我能帮上忙
相关问题 更多 >
编程相关推荐