【发布时间】:2016-10-19 18:26:48
【问题描述】:
有没有更简洁的方法来获取此代码中列表项位置的整数值:
a = ['m', 'rt', 'paaq', 'panc']
loc = [i for i, x in enumerate(a) if x == 'rt']
loc_str = str(loc).strip('[]')
loc_int = int(loc_str)
id_list = a[loc_int + 1:]
print id_list
以列表形式返回 'rt' 之后的所有项目 ['paaq', 'panc']
【问题讨论】:
-
我认为重要的是您要意识到您不需要将列表
loc转换为str只是为了获取第一个元素。只需使用a[loc[0]+1:]。 -
您知道
enumerate,您使用列表推导式,但您不了解Python Tutorial 的第一部分中介绍的切片?这真是太棒了。