我有一个元组和一个元组元组。
a
如何判断b
与print(len(a))
print(np.shape(a))
print(len(np.shape(a)))
根本不同?两个
print(len(b))
print(np.shape(b))
print(len(np.shape(b)))
和
2
(2,)
1
产生相同的输出:
library(data.table)
setDT(df)[ , paste_column := paste( names( df[,colMeans(df > 0)==T, with=F] ), collapse = ' ') ]
再次提前致谢!
答案 0 :(得分:5)
你不能,因为它们并没有根本不同。
以下内容会发生什么?
c = (("Foo", "bar"), "baz")
它也是一个元组,它包含“裸”值以及另一个元组。
如果需要检测仅由元组组成的元组,请使用:
if all(isinstance(element, tuple) for element in a)
如果需要检测仅包含非元组的元组,请使用:
if not any(isinstance(element, tuple) for element in a)
以上两者都具有 O(n)的时间复杂度( n 是a
中的元素数量),这可能不是根据您的数据来源而定。然而,这是不可避免的,除非你愿意承担实际上没有元组元组的风险。
根据您对数据的处理方式,您可能实际上想要检查一系列序列。在这种情况下,您应该使用Sequence ABC(Python 2):
import collections.abc
if all(isinstance(element, collections.abc.Sequence) for element in a)
答案 1 :(得分:0)
使用等于运算符==
:
>>> a = ("Control", "Group1")
>>> b = (("Control", "Group1"), ("Control", "Group1", "Group2"))
>>> a == b
False
如果您只是想要对一般结构有一个模糊的概念,并且字符串元素不包含括号,您可以计算括号:
>>> str(a).count('(')
1
>>> str(b).count('(')
3