這是一個單行 Python 多維列表:list1 = [1, 2, 3, 4, 5]len(list1)5這是一個多行Python多維列表:list2 = [1, 2, 3, 4, 5] [6, 7, 8, 9, 10]len(list2)2我想知道 list1 是一個 1 行列表,但 len 返回該行中的元素數(shù),而對于多行 len 返回行數(shù)。如何區(qū)分單行列表和多行列表?更新:對于那些因“拼寫錯誤引起”而關(guān)閉此問題的人,請參閱我對下面答案的評論。我的問題不是打字錯誤的結(jié)果,解決方案很有幫助。
1 回答

青春有我
TA貢獻(xiàn)1784條經(jīng)驗 獲得超8個贊
我不知道本地 python 方式,但您可以檢查列表的第一個元素以查看它是否是另一個列表,然后深入挖掘,除非找不到新的列表類型。
list1 = [1, 2, 3, 4, 5]
list2 = [[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10]]
def get_dimension(l):
n = 1
l = next(iter(l))
while type(l) == list:
l = next(iter(l))
n += 1
return n
print(get_dimension(list1))
# 1
print(get_dimension(list2))
# 2
添加回答
舉報
0/150
提交
取消