是否有更简洁的方法来获取此代码中列表项位置的整数值:
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']
答案 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')
开始。没有指定结束:]
意味着我们想要直到列表的末尾。