我有一个类似于 ['ONE', 'TWO', 'SEVEN', 'TWELVE', 'ONE', 'SEVEN'] 的字符串列表。给定一个我知道在列表中的字符串,是否有一种简单的方法可以返回该字符串后面所有元素的可迭代对象(如果后面没有任何元素,则返回 None)?
因此,输入 'ONE' 将返回 ['TWO', 'SEVEN'] 而输入 'SEVEN' 将返回 ['十二',无]。
我目前的做法是:
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 = []
但这似乎过于繁琐。如果这是最好的方式,我可以接受。如果有更清洁的方法,我很乐意学习。
请您参考如下方法:
怎么样:
>>> a = ['ONE', 'TWO', 'SEVEN', 'TWELVE', 'ONE', 'SEVEN']
>>> [a[x+1] if x+1 < len(a) else None for x in range(len(a)) if a[x] == 'ONE']
['TWO', 'SEVEN']
