【问题标题】:How to obtain the index of the certain data type in a list? [closed]如何获取列表中某种数据类型的索引? [关闭]
【发布时间】:2019-02-05 21:11:29
【问题描述】:

我有一个包含字符串、整数和浮点数据的列表。

例如:

a = ['a', 'b', 1, 2, 3.5, 4.6]

我想要上面示例中的浮点数据索引,例如[4,5]

我该怎么做?

【问题讨论】:

  • 这部分你不明白:如何检查值的类型,或者如何建立一个列表?
  • @PatrickHaugh 我想要浮点数据类型的索引。

标签: python python-3.x list indexing


【解决方案1】:

保持简单:

[i for i, x in enumerate(a) if isinstance(x, float)]

【讨论】:

    【解决方案2】:

    您可以使用列表推导找到它们:

    [i for i in range(len(a)) if isinstance(a[i], float)]
    

    结果:

    [4, 5]
    

    【讨论】:

    • range(len(x)) 不是很 Pythonic ?
    • 我同意使用enumerate(Kirby 的回答)确实更好。
    【解决方案3】:

    使用list comprehensions 解决这个问题-

    index_float = [i for i in range(len(a)) if type(a[i])==float]
    print(index_float)
         [4, 5]
    

    根据您想要的datatype 的索引,您可以将其等同于type()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      • 2023-01-11
      • 2018-12-29
      • 2016-06-25
      • 2021-03-14
      • 1970-01-01
      相关资源
      最近更新 更多