[英]Assert 2-d list in python
在python中,我正在嘗試檢查給定列表是否為二維列表。 我應該使用一個assert語句,但是我不知道如何創建一個。
到目前為止,我有
assert type(x) == list
我知道這是不正確的,並檢查一維列表。 我該如何解決?
檢查x是否是您已經完成的列表
assert type(x) == list
檢查x是否為列表,並且x的元素為列表-
assert type(x)==list
assert reduce(lambda a,b : type (b) == list and a, x, True)
檢查x是否為列表,x的元素是否為列表,並且每個元素的長度相同-
assert type(x)==list
assert reduce(lambda a, b: type (b) == list and a, x, True)
l = len(x[0])
assert reduce(lambda a, b: len(b) == l and a, x, True)
您可以使用all
使它更具可讀性的方法來代替reduce
。
檢查x是否為列表,x的元素是否為列表,並且每個元素的長度相同-
assert type(x)==list
assert all([type(i) == list for i in x])
l = len(x[0])
assert all([len(i) == l for i in x])
我做了這個
l=[[]] assert type(l) == list and type(l[0]) == list
但是我在一維的情況下得到了indexError,所以我改用了它。
l=[]
try:
assert type(l) == list and type(l[0]) == list
except IndexError:
assert False
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
AssertionError
也許有更好的方法,但對我而言並不明顯。
更好的方法(但漫長的過程)可能是...
assert type(l) == list and len({ type(el) for el in l }) == 1 and { type(el) for el in l }.pop() == list
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.