python中列表元素虽然有下标,但是有时候需要特定的用途,查找指定的特殊值的元素的下标。
这时候可以用for循环,打印出来下标,但是每次都要写for循环,感觉还是有点麻烦。
比如这样
使用enumerate,枚举列表中的元素,
a = [1, 2, 8, none, 'test']
for i in range(len(a)):
if a[i] == none:
print(i)
for i in range(len(a)):
if isinstance(a[i], str):
print(i)
null_list = [i for i, x in enumerate(a) if x==none]
null_list
str_list = [i for i, x in enumerate(a) if isinstance(x, str)]
str_list
可以得到结果如下:
相当于enumerate多了一个索引元素。
当然也可以使用index。但是前提是index需要元素的具体值,当我们不知道元素的具体值时,就没办法。比如第四个元素'test",我们只知道是一个文本。
无法判断,不知道具体是什么文本。