我有一個類似於['ONE', 'TWO', 'SEVEN', 'TWELVE', 'ONE', 'SEVEN']
的字符串列表。給定一個字符串,我知道是在列表中,是否有一種簡單的方法來返回該字符串後面的所有元素的迭代(如果沒有任何內容跟隨它,則返回None
)?Python:獲取列表中指定元素後面的項目
所以,輸入'ONE'
將返回['TWO', 'SEVEN']
和輸入'SEVEN'
將返回['TWELVE', None]
。
我目前的做法是做這樣的事情:
follows = []
while test_string in string_list:
index = string_list.index(test_string)
if index + 1 < len(string_list):
follows.append(string_list[index+1])
string_list = string_list[index+1:]
else:
follows.append(None)
string_list = []
但這似乎過於繁瑣。如果這是最好的方法,我可以接受它。如果有更清潔的方式,我很樂意學習它。
特殊情況不是夠特別。當正常結果是以下元素的列表時,表示「沒有元素跟隨這個」的正確方法是**沒有元素的列表**(即'[]')。 – 2011-01-06 00:50:27
我查看了其他答案,並意識到花了相當大的努力試圖瞭解你所問的問題後,我得出了一個完全不同的結論,從其他人那裏得到了你想要的東西。請嘗試在未來更加清晰。 :/ – 2011-01-06 00:55:19