list
.sort(
cmp=
none
, key=
none
, reverse=
false
)
cmp – 可選引數, 如果指定了該引數會使用該引數的方法進行排序。
key – 主要是用來進行比較的元素,只有乙個引數,具體的函式的引數就是取自於可迭代物件中,指定可迭代物件中的乙個元素來進行排序。
reverse – 排序規則,reverse = true 降序, reverse = false 公升序(預設)。
>>alist =
[123
,'google'
,'runoob'
,'taobao'
,'facebook'];
>>alist.sort();
>>
print
("list : "
, alist)
list :
[123
,'facebook'
,'google'
,'runoob'
,'taobao'
]>>
# 列表
>>vowels =
['e'
,'a'
,'u'
,'o'
,'i'
]# 降序
>>vowels.sort(reverse=
true
)# 輸出結果
>>
print
('降序輸出:'
, vowels)
降序輸出:
['u'
,'o'
,'i'
,'e'
,'a'
]# 獲取列表的第二個元素
>>
def takesecond(elem)
:return elem[1]
# 列表
>>random =[(
2,2)
,(3,
4),(
4,1)
,(1,
3)]# 指定第二個元素排序
>>random.sort(key=takesecond)
#輸出類別
>>
print
('排序列表:'
, random)
排序列表:[(4
,1),
(2,2
),(1
,3),
(3,4
)]
在python中,使用list[0:2] = 『z』,不會產生任何的錯誤,就是讓這list左起第0,1兩個元素賦值為『z』乙個元素;這是因為string字串本身在python裡就是乙個字元陣列,是可以進行迭代操作的。
而list[0:2] = 1中,就會產生錯誤:typeerror: can only assign an iterable
這是因為整型1,不具有迭代能力,它就是乙個值而已。因此未來達到目的,應該寫成list[0:2] = (1,)就ok了。
d=
#對字典按鍵排序,用元組列表的形式返回
d1 =
sorted
(d.items(
), key=
lambda d:d[0]
,reverse =
false
)#[('no', 2), ('ok', 1)]
#對字典按值排序,用元組列表的形式返回
d2 =
sorted
(d.items(
), key=
lambda d:d[1]
,reverse =
true
)#[('ok', 1), ('no', 2)]
注意:返回的是乙個list,python3中可以dict(d1),將其轉換成原來的dict格式 python教學筆記 python學習筆記(一)
1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...
python學習筆記
coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...
Python 學習筆記
python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...