【问题标题】:Type of all elements in Python listPython列表中所有元素的类型
【发布时间】:2015-07-11 05:09:42
【问题描述】:

有没有办法在 Python 中快速打印出 all 某些给定列表的元素的类型?

例如[1, 2, 3.5] 将给出int, int, float

我找到的最接近回答我的问题的现有资源是:Test type of elements python tuple/list,它只提供整体 True/False 输出(这不是我想要的)。

【问题讨论】:

    标签: python


    【解决方案1】:

    如果您真的对列表中所有元素的类型感兴趣,那么您可以使用以下表达式:

    list(type(x).__name__ for x in lst)
    

    如果您只想知道列表中有多少个不同类型,您可以使用:

    set(type(x).__name__ for x in lst)
    

    【讨论】:

    • 您能解释一下__name__ 属性在这里是如何运作的吗?
    • type(x) 返回类型对象,其__name__ 属性提供类型名称
    【解决方案2】:

    尝试以下方法:

    for l in lst:
        print(type(l))
    

    在哪里lst = [1,2,3.5]

    【讨论】:

      【解决方案3】:

      在python中,type函数用于查找变量的数据类型。

      >>> l = [1, 2, 3.5]
      >>> [type(i) for i in l]
      [<class 'int'>, <class 'int'>, <class 'float'>]
      >>> [str(type(i)).split("'")[1] for i in l]
      ['int', 'int', 'float']
      

      【讨论】:

        【解决方案4】:
          mylist = [1, 1, 1.5]
          map(lambda x: repr(type(x)), mylist)
        

        【讨论】:

          猜你喜欢
          • 2015-04-09
          • 2019-05-10
          • 2012-02-16
          • 2017-06-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-21
          相关资源
          最近更新 更多