列表 字典的排序sort,sorted

2021-10-01 12:47:33 字數 2186 閱讀 4579

學習python核心技術與實戰時,在第10講中,講師留下了乙個問題:

在解決這個問題之前,先解決如下問題:

1)列表的正序與倒序

2)找到列表中最大值,並輸出

3)字典按值進行正序與倒序

4)找到字典中值最大的,並輸出key跟value(鍵值對)

5)字典轉換為列表

# 列表排序

l =[2,

5,7,

3,9,

1]# 順序

l.sort(

)print

(l)# 倒序

ll =

sorted

(l, reverse=

true

)print

(ll)

# 通過倒序sorted()後,獲取列表第乙個值,則為最大值

print

(ll[0]

)# 冒泡法找到最大值

l2 =[2

,5,7

,3,9

,1]for i in

range(0

,len

(l2)):

if l2[i]

> l2[0]

: l2[0]

= l2[i]

print

(l2[0]

)# 字典按value來倒序排列

d =ddd =

sorted

(d.items(

), key=

lambda x: x[1]

, reverse=

true

)print

(ddd)

# 未知如何獲取字典中的第乙個鍵值對?????

key1 =

list

(d.keys())

value1 =

list

(d.values())

zip(key1[0:

1], value1[0:

1])print

("以上"

)# 字典key轉換為列表

key =

list

(d.keys())

print

(key)

# 字典value轉換為列表

value =

list

(d.values())

print

(value)

拓展:

1、元組、列表、字典的區別

1、列表list:有序,可變。

2、元組tuple:有序,不可變。

3、字典dict:無序,字典的key是不可變的,值是可變的;在python中字串,數字,元組都是不可變的物件。

4、序列:列表,元組和字串都序列;即成員有序排列,可以通過下標訪問,可以進行切片操作。字串(普通字串和unicode字串)

5、集合:沒有順序的簡單物件的聚集。可以檢查成員是否存在,是否是另乙個集合的子集,得到兩個集合的交集等等

6、複製乙個列表或者類似的序列或者其他複雜物件,那麼必須使用切片操作符來去的拷貝。當你建立乙個物件並將它賦值給乙個變數的時候,這個變數僅僅引用那個物件,而不是表示這個物件本身!也就是說,變數名指向你計算機中儲存那個物件的記憶體。這被稱作名稱到物件的繫結。

2、sort()與sorted()

sort

()與sorted(

)的不同在於,sort是在原位重新排列列表,而sorted(

)是產生乙個新的列表。

sort 是應用在 list 上的方法,sorted 可以對所有可迭代的物件進行排序操作。

當列表由list(或者tuple)組成時,預設情況下,sort和sorted都會根據list[0](或者tuple[0])作為排序的key,進行排序。

引數:基於key函式

list1.

sort

(key=lambda x:x[2]

)sorted(list1, key=lambda x:x[2]

)基於reverse函式

reverse=false為公升序排序(預設);reverse=true為降序排序

python列表,字典排序

python對容器內資料的排序有兩種,一種是容器自己的sort函式,一種是內建的sorted函式。sort函式和sorted函式唯一的不同是,sort是在容器內 in place 排序,sorted生成乙個新的排好序的容器。dic dict sorted dic.items key lambda d...

python列表,字典

1字串處理 s.startswith adfaas s這個字串是不是以adfaas開始 s.endswith adfaas s這個字串是不是以adfaas結束 s.find substring,start end 可指範圍查詢子串,返回索引值,否則返回 1 s.rfind substring,sta...

Python 列表 字典

陣列 只能儲存同一種資料型別的結構 元組tuple 定義列表 定義元組 元組被稱為被帶了緊箍咒的列表,那麼就證明元組與列表的功能類似,只是不如列表強大。元組是不可變的資料型別 不能修改元組中的元素 列表是可變資料型別,可以修改元素。那就有了增刪改查 拿出列表最後乙個元素,最後乙個元素是列表,再拿出列...