猿问

Python索引整数和浮点数

我有一个疑问,假设我有一个列表混合元素列表


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

>>>

???


梵蒂冈之花
浏览 122回答 3
3回答

POPMUISE

这是因为2 == 2.0isTrue和index()方法找到满足此条件的第一个值,搜索整个列表。

繁星淼淼

如果你想获得索引2.0值,你可以使用isinstance(Pylist[i], float):[i for i,k in enumerate(Pylist) if isinstance(Pylist[i], float) and Pylist[i] == 2.0] # [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]))
随时随地看视频慕课网APP

相关分类

Python
我要回答