gpt4 book ai didi

python - 区分元组和元组的元组

转载 作者:行者123 更新时间:2023-11-28 21:46:43 24 4
gpt4 key购买 nike

我有一个元组和一个元组的元组。

import numpy as np
a = ("Control", "Group1")
b = (("Control", "Group1"), ("Control", "Group1", "Group2))

我怎么知道 ab 根本不同?两者

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

再次提前致谢!

最佳答案

你不能,因为它们没有根本的不同。

接下来会发生什么?

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)(na中元素的个数),根据您的数据来源,这可能是不可取的。然而,这是不可避免的,除非您愿意冒险不实际拥有元组的元组。

根据您对数据的处理方式,您可能实际上想要检查一系列序列。在这种情况下,您应该使用 Sequence ABC ( Python 2 ):

import collections.abc
if all(isinstance(element, collections.abc.Sequence) for element in a)

关于python - 区分元组和元组的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37543246/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com