我希望能够查看python列表并打印出每个出现次数的索引号。 示例:
a = ['t','e','s','t']
a.index('t')
当我尝试这段代码时,它只给我 t 的第一个索引号,但是我希望它打印出使用 t 的每个索引号。
答案 0 :(得分:2)
您可以对enumerate
使用列表推导:
a = ['t','e','s','t']
indices = [i for i, x in enumerate(a) if x == 't']
在列表理解范围内,i
是当前索引,x
是该索引处的值。
答案 1 :(得分:1)
在列表理解中使用enumerate
进行 t ,
>>> list1 = ['t','e','s','t']
>>> all_index = [i for i, j in enumerate(list1) if j == 't']
>>> all_index
输出:
[0, 3]
所有元素都带有循环
list1 = ['t','e','s','t']
result = {}
for e in list1:
result[e] = [i for i, j in enumerate(list1) if j == e]
print(result)
输出:
{'s': [2], 'e': [1], 't': [0, 3]}
答案 2 :(得分:0)
是的,您可以使用enumerate
[x[0] for x in enumerate(a) if x[1]=='t']
Out[267]: [0, 3]
答案 3 :(得分:0)
def get_indices(my_list, item):
result = []
for i in range(len(my_list)):
if my_list[i] == item:
result.append(i)
return result
然后尝试一下...
>>> get_indices(a, "t")
[0, 3]