Python列表排序问题
请教大家,如果Python中列表中包含列表如何进行排序例如:a=,3]
我使用sort他会报错,但是如果我用a.sort()他是可以进行排序的,不仅把【7,3,5,1】进行排序了,还将列表前的排序了,但是列表后的3是不参与排序的,这是什么问题呢?有什么办法能把这个a列表排序么? 本帖最后由 jackz007 于 2023-11-15 11:22 编辑
列表中包含列表是无法进行正常排序的,以楼主的数据为例,a=,3],其中,a 是一个列表,a 自然是可以自己排序的,a 中除 a 外的元素自然也是可以单独排序的,但是,问题是,在排序后的结果中,原先的列表元素 a 应该出现在 a 的什么位置(第几个元素)上呢? jackz007 发表于 2023-11-15 11:21
列表中包含列表是无法进行正常排序的,以楼主的数据为例,a=,3],其中,a...
目前我测试的是a列表还在原位,列表前自动排序,列表后的数据不排序 lyp学习 发表于 2023-11-15 11:26
目前我测试的是a列表还在原位,列表前自动排序,列表后的数据不排序
b = a[: 4]
a . sort()
b . sort()
b . append(a)
b . append(a)
print(b) jackz007 发表于 2023-11-15 11:47
好的谢谢您,这个方法我也想出来了,目前在想怎么把列表后面的也参与排序。 lyp学习 发表于 2023-11-15 14:27
好的谢谢您,这个方法我也想出来了,目前在想怎么把列表后面的也参与排序。
判断一下是不是列表,给它一个最大或最小值,就可以了:
sorted(a, key=lambda i: 9999 if isinstance(i, list) else i )
] 阿奇_o 发表于 2023-11-15 17:37
判断一下是不是列表,给它一个最大或最小值,就可以了:
谢谢!!!! 没懂你的意思,你是想把所有数据统一排序?
页:
[1]