创建一个新列表,其中包含以下某个单词从另一个列表中的下列值
问题描述:
对不起,如果问题很混乱。但我会尝试解释它: 我需要创建一个新列表,其中包含以下来自另一个列表的某些单词的值。创建一个新列表,其中包含以下某个单词从另一个列表中的下列值
我的意思是,我有一个列表:
list = ['KAZES', 'CAR', 'MOTOR', 'TWO', 'SAINT', 'MOTOR', 'DOMAIN', 'BARCELONA']
我想创建一个列表只字“电动机”的下一个值。像这样:
Motor = ['TWO','DOMAIN']
我希望你能理解我的问题。如果没有,请让我知道,我会更好地解释它。
感谢, MARCUS
答
对于使用列表中理解一个单行的解决方案:
motor = [lst[i+1] for i, word in enumerate(lst[:-1]) if word == 'MOTOR']
我改名为你的变量二:list
到lst
因为list
是内置了Python和因为Python约定是小写字母的变量名称,因此可以使用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
阴影巨蟒内置功能。我的方法是循环当前列表,如果我们遇到搜索词,我们检查以确保我们不在列表的末尾,然后将下一项添加到最终列表中。
searchWord = 'MOTOR'
final = []
for i, e in enumerate(ls):
if e == searchWord:
if i + 1 < len(ls):
final.append(ls[i + 1])
希望我帮了忙。
刚刚发布了相同的确切answre;)+1给你更快 – gionni
谢谢,我知道这是一个简单的问题,但我是一个在Python的begginer ... –