Python:对列表进行排序、反转

排序:

使用sorted方法和列表的sort方法:
sorted方法适用范围更广,sort方法只有列表有。

li = [{'a':'23'}, {'a':'12'}]
def sort_fun(mp):
    s = mp['a']
    return int(s)
sorted(li, key = sort_fun, reverse = True) #这会返回一个排好序的列表,原列表不变。
li.sort(key = sort_fun, reverse = True) # 返回None,原列表变为排好序的。

key参数指示按照什么排序,是一个函数,函数的输入为要排序列表的项,输出为可排序的数据类型。
reverse参数指示排序方式,默认是False,也就是从小到大排序。

反转:

将原列表反转,返回None

li = [1, 2, 3]
li.reverse()
print(li)
# [3, 2, 1]

不改变原列表,返回反转后的新列表:

li = [1, 2, 3]
li2 = li[::-1]
print(li)
print(li2)
# [1, 2, 3]
# [3, 2, 1]
posted @ 2018-12-27 08:59  xuejianbest  阅读(2146)  评论(0编辑  收藏  举报