kam*_*ame 0 python sorting list
我想对数组 c 进行排序。但我没有得到答案 a、b、c、d。相反,我得到了 a、b、d、c。我能做什么,对整个数组进行排序,而不仅仅是一行?
编辑:我想对数字进行排序。并且连接的字母应该与排序的数字具有相同的顺序。对不起,我的问题不清楚。也许我应该先加入数字和字母。像这样:[['a',1]['b',2]....
a = ['a','b','d','c']
b = [1,2,4,3]
c = [[],[]]
c[0]=a
c[1]=b
c[1].sort()
print(c)
Run Code Online (Sandbox Code Playgroud)
让我们来看看这里发生了什么:
# Initialize the lists
a = ['a','b','d','c']
b = [1,2,4,3]
c = [[],[]]
# Assign the lists to positions in c
c[0]=a
c[1]=b
# Sort b, which was assigned to c[1]
c[1].sort()
print(c)
Run Code Online (Sandbox Code Playgroud)
所以,当然你不能指望a得到排序。试试这个:
# Sort a, which was assigned to c[0]
c[0].sort()
# Sort b, which was assigned to c[1]
c[1].sort()
print(c)
Run Code Online (Sandbox Code Playgroud)
或者如果c是可变长度:
# Sort every list in c
for l in c:
l.sort()
Run Code Online (Sandbox Code Playgroud)
编辑:为了回应您的评论,这些字母与数字没有任何联系。如果您希望将它们连接起来,则需要将它们连接到一个类似于元组的结构中。尝试:
>>> c = [ (1, 'a'), (2, 'b'), (4, 'd'), (3, 'c') ]
>>> c.sort()
>>> print c
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
Run Code Online (Sandbox Code Playgroud)
默认情况下,元组将按它们的第一个元素排序。请注意,您可以在此处使用任何字母代替 a、b、c、d,并且元组仍会按相同的方式排序(按数字)。
| 归档时间: |
|
| 查看次数: |
2900 次 |
| 最近记录: |