【问题标题】:Python treating digit and float as same index in listPython将数字和浮点数视为列表中的相同索引
【发布时间】:2020-03-24 00:53:45
【问题描述】:

我正在尝试从下面的代码中查找列表的索引值。

a = [4.5, 6 , "hi" , 6.0]
for b in a:
    if type(b)==float:
        print(a.index(float(b))+0, b , id(b))
    else:
        print(a.index(b)+0 , b , id(b))

我发现值“6”和“6.0”从输出中获取相同的索引位置。 如何为列表中的每个值获取不同的索引值。

【问题讨论】:

    标签: python-3.x list indexing


    【解决方案1】:

    list.index 函数不是为了区分类型而编写的。如果你想要这个,你必须编写自己的函数。在循环中使用枚举将给出真正的索引。

    a = [4.5, 6 , "hi" , 6.0]
    for idx, b in enumerate(a):
        if type(b)==float:
            print(idx, b , id(b))
        else:
            print(idx , b , id(b))
    

    您可以将此代码包装在一个函数中以创建一个新的类型敏感索引函数,该函数仅返回idx

    【讨论】:

      猜你喜欢
      • 2020-11-30
      • 2023-04-06
      • 1970-01-01
      • 2018-09-25
      • 1970-01-01
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      相关资源
      最近更新 更多