Python单数组/列表排序与多维数组/lis排序

2024-09-27 21:32:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图理解为什么下面的代码在尝试对单个列表排序时抛出,但它适用于多维列表。对单个列表的迭代是否试图对列表中的每个值进行排序,而对多个列表的迭代实际上是对每个数组而不是数组中的每个值进行排序

multilist = [[0,3,-1,9],[4,2,77,55],[22,-11]]
for i in multilist:
    print(sorted(i))

singlelist = [0,-44,21]
for i in singlelist:
    print(sorted(i))

输出:

[-1, 0, 3, 9]
[2, 4, 55, 77]
[-11, 22]

TypeError Traceback (most recent call last)

 26 singlelist = [0,-44,21]
 27 for i in singlelist:
 ---> 28     print(sorted(i))
 29 #print(test)

 TypeError: 'int' object is not iterable

Tags: 代码inmost列表for排序数组call
1条回答
网友
1楼 · 发布于 2024-09-27 21:32:28

因为singlelist是一维数组,i是一个不可iterable的int。所以不能分类。你可以这么做

multilist = [[0,3,-1,9],[4,2,77,55],[22,-11]]
for i in multilist:
    print(sorted(i))

singlelist = [0,-44,21]
print(sorted(singlelist))

一切都很好

相关问题 更多 >

    热门问题