2017-07-18 102 views
0

对不起,如果问题很混乱。但我会尝试解释它: 我需要创建一个新列表,其中包含以下来自另一个列表的某些单词的值。创建一个新列表,其中包含以下某个单词从另一个列表中的下列值

我的意思是,我有一个列表:

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

我想创建一个列表只字“电动机”的下一个值。像这样:

Motor = ['TWO','DOMAIN'] 

我希望你能理解我的问题。如果没有,请让我知道,我会更好地解释它。

感谢, MARCUS

回答

5

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

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

我改名为你的变量二:listlst因为list是内置了Python和因为Python约定是小写字母的变量名称,因此可以使用Motormotor

+0

刚刚发布了相同的确切answre;)+1给你更快 – gionni

+0

谢谢,我知道这是一个简单的问题,但我是一个在Python的begginer ... –

0

这是未经测试:

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

result = list(next_after(my_orig_list)) 
0

我命名你的listls因为list阴影巨蟒内置功能。我的方法是循环当前列表,如果我们遇到搜索词,我们检查以确保我们不在列表的末尾,然后将下一项添加到最终列表中。

searchWord = 'MOTOR' 

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

希望我帮了忙。

相关问题