Python學習筆記 4 1 3章 sorted

2021-08-28 08:19:00 字數 1154 閱讀 4475

# 這是學習廖雪峰老師python教程的學習筆記

1、概覽

python內建的sorted()函式可以對list進行排序。

sorted()函式也是乙個高階函式,它可以接收乙個key函式來實現自定義的排序,key指定的函式將作用於list的每乙個元素上,並根據key函式返回的結果進行排序

# 直接排序

>>> sorted([36, 5, -12, 9, -21])

[-21, -12, 5, 9, 36]

# 接受key函式排序

>>> sorted([36, 5, -12, 9, -21],key=abs)

[5, 9, -12, -21, 36]

# 按 字母表 順序排序

>>> sorted(['bob', 'about', 'zoo', 'credit'], key=str.lower)  # sorted預設是按 ascii 碼排序,而 z>a ,所以需要加key函式

['about', 'bob', 'credit', 'zoo'] 2

、例子1

、假設我們用一組tuple表示學生名字和成績:

l = [('bob',

75), ('adam',

92), ('bart',

66), ('lisa',

88)]

請用sorted()

對上述列表分別按名字排序:

# -*- coding: utf-8 -*-

l = [('bob', 75), ('adam', 92), ('bart', 66), ('lisa', 88)]

#按姓名排序

def by_name(t):

return t[0]

#按成績排序。-t[1],則分數越高,加上負號就越小,就越靠前

def by_score(t):

return -t[1] #

測試l2 = sorted(l, key=by_name)

print(l2)

#按姓名排序

[('adam', 92), ('bart', 66), ('bob', 75), ('lisa', 88)] 

#按成績排序

[('adam', 92), ('lisa', 88), ('bob', 75), ('bart', 66)] 

4 13 學習筆記

1.整數拆分為2 的冪的和 用陣列a 直接記錄結果。從前往後推的時候,有兩種可能性,分為a 2m 1 和a 2m 易知a 2m 1 a 2m 對於a 2m 它的所有拆分方式分為兩大類 1 含有1的,這部分所有方式都去掉1,就得到a 2m 1 2 不含有1的,也就是分出的都是2的倍數,那麼都除以2,就...

java學習筆記4 13,List,Set,Map

1.概述 list 列表 集合 list內的元素可以重複,而且是有序排列,預設順序為加入的先後順序,通常支援null元素 set 集 內部元素沒有順序,而且不能重複,通常支援null元素,如果加入的元素在容器內已經有了,則加不進去 map 對映 map容器中的每乙個元素都是以 鍵物件 值物件 的形式...

Python學習筆記 Python之集合set

1.什麼是set集合 set集合 無序的並且是不重複的,如下 s set a b c 2.set集合訪問 訪問set集合中的元素,使用 in 操作符判斷,如下 s set a b c print c in s print d in s結果如下 true false3.set集合遍歷 使用 for 迴...