这是一个单行 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 返回该行中的元素数,而对于多行 len 返回行数。如何区分单行列表和多行列表?更新:对于那些因“拼写错误引起”而关闭此问题的人,请参阅我对下面答案的评论。我的问题不是打字错误的结果,解决方案很有帮助。
1 回答
青春有我
TA贡献1784条经验 获得超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
提交
取消