python 小知識點 常用型別轉換

2021-10-06 09:57:02 字數 3636 閱讀 5099

數字:包含整數,浮點數,布林值,直接賦值即可,不可變

字串:直接賦值即可,可以使用下標取值,不可變

列表(list):有序集合,可變,可以使用下標取值

元組(tuple):類似list,初始化後不能修改,不可變

字典(dict):使用鍵值對的方式儲存和獲取,查詢快速,可變,

集合(set):類似字典,但沒有key, 值不能重複,可用於去重,可變

enumerate:將乙個可迭代物件組合為乙個索引序列,同時列出資料和資料下標,返回元組對,一般用在 for 迴圈當中

語法

enumerate(sequence, [start=0])

- sequence -- 乙個序列、迭代器或其他支援迭代物件。

- start -- 下標起始位置。

zip函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表(python3 返回的是乙個可迭代物件)

語法

zip([iterable, ...]) #乙個或多個可迭代物件
如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同

利用 * 號操作符,可以將元組解壓為列表

p = ['川', '鄂', '贛', '甘', '貴', '黔', '桂', '黑', '滬']

d = [(0, '川'), (1, '鄂'), (2, '贛'), (3, '甘'), (4, '貴'), (5, '黔'), (6, '桂'), (7, '黑'), (8, '滬')]

index = range(5)

print(list(zip(index, p)))

print(list(zip(*d)))

輸出:[(0, '川'), (1, '鄂'), (2, '贛'), (3, '甘'), (4, '貴')]

[(0, 1, 2, 3, 4, 5, 6, 7, 8), ('川', '鄂', '贛', '甘', '貴', '黔', '桂', '黑', '滬')]

operator.itemgetter函式

operator模組提供的itemgetter函式用於獲取物件的哪些維的資料,引數為需要獲取的資料在物件中的序號

a = [1,2,3] 

>>> b=operator.itemgetter(1) //定義函式b,獲取物件的第1個域的值

>>> b(a)

2 >>> b=operator.itemgetter(1,0) //定義函式b,獲取物件的第1個域和第0個的值

>>> b(a)

(2, 1)

要注意,operator.itemgetter函式獲取的不是值,而是定義了乙個函式,通過該函式作用到物件上才能獲取值,類似匿名函式lambda

列表轉字典

使用幾種方法,zip, enumerate和dict方法

注意,dict方法需要物件都是鍵值對(不是鍵值對的會被忽略),且元素0可雜湊

p = ['川', '鄂', '贛', '甘', '貴', '黔', '桂', '黑']

index = range(len(p))

print(dict(enumerate(p, 1)))

print(dict(zip(index, p)))

結果

一般需要對列表生產索引則使用enumerate打包成鍵值對

兩個列表生產對應的字典則使用zip打包成鍵值對

如果要初始化值是一樣的字典可以使用字典的fromkeys

比如值都初始化為0或空列表

d = ['川', '鄂', '贛', '甘', '貴', '黔', '桂', '黑']

print(dict.fromkeys(d, 0))

print(dict.fromkeys(d, ))

結果

列表常用方法

列表操作包含以下函式:

1、cmp(list1, list2):比較兩個列表的元素

2、len(list):列表元素個數

3、max(list):返回列表元素最大值

4、min(list):返回列表元素最小值

5、list(seq):將元組轉換為列表

對列表操作包含以下方法:字典常用方法

使用字典最常用的三個方法:keys, values, items

遍歷字典例項

provinces = 

print(provinces.keys())

print(provinces.values())

for key, value in provinces.items():

print(key, value, end=" , ")

列印結果

dict_keys(['川', '鄂', '贛', '甘', '貴', '黔', '桂', '黑'])

dict_values([1, 2, 3, 4, 5, 6, 7, 8])

川 1 , 鄂 2 , 贛 3 , 甘 4 , 貴 5 , 黔 6 , 桂 7 , 黑 8 ,

另外還有方法

get(key) # 獲取值

pop(key) # 刪除值 , popitem() 隨機刪除乙個

update(dict) # 追加字典

clear() # 清空字典

fromkeys() # 返回擁有指定鍵和值的字典

字典key和value翻轉

要翻轉前提:值唯一,因為key必須得要可以雜湊,列出幾種方式:

provinces = 

p1 =

p2 = dict((v, k) for k, v in provinces.items())

p3 = dict(zip(provinces.values(), provinces.keys()))

字典排序

使用方法sort, operator.itemgett或sorted

import operator

p =

print(sorted(p.items(), key=operator.itemgetter(1)))

print(sorted(p.items(), key=lambda x: x[1], reverse=true))

輸出

[('黔', 1), ('黑', 2), ('貴', 3), ('甘', 4), ('贛', 5), ('川', 6), ('桂', 7), ('鄂', 8)]

[('鄂', 8), ('桂', 7), ('川', 6), ('贛', 5), ('甘', 4), ('貴', 3), ('黑', 2), ('黔', 1)]

Python小知識點

1.時間戳 從1970年到現在的秒數 time2 time.time print time2 date9 datetime.datetime.now print date9.timestamp 上面是兩種用到時間戳的 stamp 郵戳。timestamp 時間戳,時間線。2.執行緒休眠 爬蟲 獲取對...

Python小知識點

1.預設引數 必須放在引數列表的隊尾 普通形參必須放在預設引數的前面 def test a,b 3 passtest test 2.函式引數可以為任意型別 testb testa 3.args返回的是乙個元組 4.map函式裡面需要兩個值 值1 必須是函式 值2 序列 容器 作用 將序列裡面的每個元...

python 小知識點

python strip 方法用於移除字串頭尾指定的字元 預設為空格或換行符 或字串行。注意 該方法只能刪除開頭或是結尾的字元,不能刪除中間部分的字元。strip 方法語法 str.strip chars 返回移除字串頭尾指定的字元生成的新字串。以下例項展示了strip 函式的使用方法 以上例項輸出...