我有一个疑问,假设我有一个列表混合元素列表Pylist = [1,2,3,'a','b','c',2.0,2.2]现在,如果我检索 1 和 6 的索引值,它会为我提供>>> Pylist[1]2>>> Pylist[6]2.0如果我检查它们分别返回 int 和 float 的类型,但是当我在其上使用index方法时,将返回相同的索引位置,之后类型不同,索引位置和值也不同,谁能解释一下>>> Pylist.index(2)1>>> Pylist.index(2.0)1>>>???
3 回答

繁星淼淼
TA贡献1775条经验 获得超11个赞
如果你想获得索引2.0
值,你可以使用isinstance(Pylist[i], float)
:
[i for i,k in enumerate(Pylist) if isinstance(Pylist[i], float) and Pylist[i] == 2.0] # [6]

摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
2您可以使用它来返回每个/的索引2.0:
for i in set(Pylist):
if Pylist.count(i) > 1:
print(" ".join([str(index) for index, value in enumerate(Pylist) if value == el]))
添加回答
举报
0/150
提交
取消