我要打印此列表中紧跟在“ apple”之后的所有元素。
使用
my_list = ["apple","train","apple","bus"]
我期望输出:
(train,bus)
但是我当前的代码
print (my_list[my_list.index("apple") + 1])
仅输出第一个“ train”。
我怎么能得到所有这些?
答案 0 :(得分:1)
如果要直接在列表中的“苹果”后面获取所有项目,则可以使用列表理解,例如:
my_list = ["apple","train","apple","bus", "apple"]
[my_list[i+1] for i, item in enumerate(my_list)
if item == "apple" and i+1 < len(my_list)]
# ['train', 'bus']
只要当前元素是“苹果”,我们都会保留下一个元素-我们不在列表的末尾。
答案 1 :(得分:0)
my_list = ["apple","train","apple","bus"]
index = my_list.index("apple")
print(my_list[index:index+2])
看看Python的slice语法。这将在索引到索引+ 2(不包含)之间显示子列表。
如果要按照问题中的说明将其作为元组,只需将其包装在tuple()
编辑:当然,考虑到您已经拥有apple
,您也可以这样做
print(("apple", my_list[my_list.index("apple") + 1)