# 這是學習廖雪峰老師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 迴...