Python - 返回列表枚举的整数值

时间:2016-10-19 18:26:48

标签: python enumerate

是否有更简洁的方法来获取此代码中列表项位置的整数值:

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']

2 个答案:

答案 0 :(得分:5)

是的,请使用list.index()

a = ['m', 'rt', 'paaq', 'panc']
id_list = a[a.index('rt')+1:]
assert id_list == ['paaq', 'panc']

或者,最低限度地改变您的计划:

a = ['m', 'rt', 'paaq', 'panc']
loc_int = a.index('rt')
id_list = a[loc_int + 1:]
print id_list

参考文献:

答案 1 :(得分:0)

a[a.index('rt') + 1:]

这是slicing数组,从a.index('rt')开始。没有指定结束:]意味着我们想要直到列表的末尾。