【问题标题】:Python indexing integer and floatPython索引整数和浮点数
【发布时间】:2020-11-30 21:51:12
【问题描述】:

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

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
>>>

???

【问题讨论】:

    标签: python list indexing floating-point int


    【解决方案1】:

    您可以使用它来返回每个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]))
    

    【讨论】:

      【解决方案2】:

      如果要获取索引2.0 值,可以使用isinstance(Pylist[i], float)

      [i for i,k in enumerate(Pylist) if isinstance(Pylist[i], float) and Pylist[i] == 2.0] # [6]
      

      【讨论】:

      • 感谢它提供了不同的视角来看待它,非常感谢。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2023-04-06
        • 2017-07-26
        • 2023-03-28
        • 2020-07-26
        • 2011-01-04
        • 1970-01-01
        • 1970-01-01
        • 2011-01-10
        • 2021-06-15
        相关资源
        最近更新 更多