2017-07-18 148 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]) 

希望我幫了忙。

相關問題