Jos*_* Ho 2 python python-2.7 python-3.x
我有一个元组和一个元组元组.
import numpy as np
a = ("Control", "Group1")
b = (("Control", "Group1"), ("Control", "Group1", "Group2))
Run Code Online (Sandbox Code Playgroud)
我怎么能说这a与根本不同b?都
print(len(a))
print(np.shape(a))
print(len(np.shape(a)))
Run Code Online (Sandbox Code Playgroud)
和
print(len(b))
print(np.shape(b))
print(len(np.shape(b)))
Run Code Online (Sandbox Code Playgroud)
产生相同的输出:
2
(2,)
1
Run Code Online (Sandbox Code Playgroud)
再次感谢!
你不能,因为它们并没有根本不同.
以下应该怎么办?
c = (("Foo", "bar"), "baz")
Run Code Online (Sandbox Code Playgroud)
它也是一个元组,它包含"裸"值以及另一个元组.
如果需要检测仅由元组组成的元组,请使用:
if all(isinstance(element, tuple) for element in a)
Run Code Online (Sandbox Code Playgroud)
如果需要检测仅包含非元组的元组,请使用:
if not any(isinstance(element, tuple) for element in a)
Run Code Online (Sandbox Code Playgroud)
上述两者都具有O(n)的时间复杂度(其中n是元素的数量a),根据数据的来源,这可能是不可取的.然而,这是不可避免的,除非你愿意承担实际上没有元组元组的风险.
根据您对数据的处理,您可能实际上想要检查一系列序列.在这种情况下,您应该使用序列ABC(Python 2):
import collections.abc
if all(isinstance(element, collections.abc.Sequence) for element in a)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |