如何解决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
>>>
???
解决方法
这是因为2 == 2.0
是True
,并且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]))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。