數字:包含整數,浮點數,布林值,直接賦值即可,不可變
字串:直接賦值即可,可以使用下標取值,不可變
列表(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 函式的使用方法 以上例項輸出...