【发布时间】:2023-02-24 13:46:05
【问题描述】:
我有一个包含许多子列表的列表A。我想根据每个子列表的第一个元素重新组织此列表,即按升序排列。我展示了当前和预期的输出。
A=[[27, 31, 32, 36], [30, 34, 35, 39], [28, 32, 33, 37], [29, 33, 34, 38]]
C=[]
for i in range(0,len(A)):
B=A[i][0]
C.append(B)
C.sort()
print(C)
当前输出是
[27, 28, 29, 30]
预期的输出是
[[27, 31, 32, 36], [28, 32, 33, 37], , [29, 33, 34, 38], [30, 34, 35, 39]]
【问题讨论】:
-
C = sorted(A)? -
试试
A.sort(key=lambda x: x[0]) -
虽然不是。输出是
[27],然后是[27, 30],等等。这是有道理的,因为你将A[i][0]添加到B。A[i]是 A 中的第 i 个列表(如[27, 31, 32, 36]对应i == 0),对于[0],您只添加第一个元素。