【问题标题】:check if every element in tuple are same type [duplicate]检查元组中的每个元素是否都是相同的类型[重复]
【发布时间】:2021-11-19 06:08:41
【问题描述】:

我想要一个函数来检查元组的所有元素是否属于相同类型

例如:

auto('red', 42, {1,2,3}) #return False

auto('red', "aa", "hgbnj") #return True

谢谢。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    使用isinstance:

    def auto(*tup):
        return all(isinstance(i, type(tup[0])) for i in tup)
    

    或者:

    def auto(*tup):
        return len(set(map(type, tup))) == 1
    

    例子:

    print(auto('red', "aa", "hgbnj"))
    

    输出:

    True
    

    示例 2:

    print(auto('red', 42, {1,2,3}))
    

    输出:

    False
    

    【讨论】:

      【解决方案2】:

      您可以使用一个集合并将每个值映射到 type

      def auto(*values):
          return len(set(map(type, values))) == 1
      

      【讨论】:

        猜你喜欢
        • 2013-05-02
        • 1970-01-01
        • 2014-07-05
        • 2018-12-13
        • 1970-01-01
        • 1970-01-01
        • 2016-06-07
        • 2015-01-08
        • 2017-05-29
        相关资源
        最近更新 更多