python3學習之路(1)
首先宣告一點這是我的第一篇部落格,我主要想和大家分享一下我python3.5的學習歷程!
關於字串,數字,變數概念性的理解先跳過,我覺得列表,元組,字典,集合這些python容器需要想入門的同學仔細研究琢磨!
先聊聊列表:list():可以將其他資料型別轉換成列表(list((1,2,3,4,5))),list("hello"),你也可以建立複雜的列表比如a_list=[[1,2,3],[1,2,3],[1,2,3]]
[offset]:也就是段偏移量(要注意負偏移量!)我們可以通過[offset]來修改列表元素,比如a_list[0]=[1,2,3,4,5,6]
append():可以新增元素到列表的尾部!比如a_list.append(”hello“)
extend():b_list=[[1,2,3,4,5],[1,2,3,4,5],["hello"]],a_list.extend(b_list)可以合併b列表到a列表中!
insert():append()只能將元素新增到尾部!但是insert()可以將元素插入到列表的任意位置,你只需要指定偏移量!
del:使用它可以刪除指定位置的元素!例如del a_list[0]
remove():可以刪除具有指定值得列表元素!例如a_list.remove([1,2,3])
pop():獲取並刪除指定位置的元素!append(),pop()構成了LIFO!
index():查詢具有特定值得元素的位置!
count():可以記錄特定值出現的次數!
join():join()就是split()的逆向過程!
sort():sort()不僅僅排序,還改變原列表的內容!而sorted()不會改變原列表的內容!
len():len(a_list)可以返回這個你建立的的列表的長度!
*注意使用=賦值,使用copy()複製這應該算是常識吧!*
接下來聊聊元組:元組說白了就是一個常量的列表,這意味著元組建立之後無法修改!
既然列表如此靈活,那麼為什麼還要用元組呢?
1.元組佔用的空間小!
2.你不會因為意外修改元素而後悔!
3.可以將元組用作字典的鍵!
4.命名元組可作為物件的迭代!
5.函式的引數是以元組形式傳遞的!
字典:可變的無序鍵值對
{}:(key,value)建立字典!使用dict()轉換為字典!
update():可以用來合併字典,a_dict={'a':123,'b':123,'c':123},b_dict={'d':123},a_dict.update(b_dict),print(a_dict)如果待新增的字典和舊的字典有衝突那麼新的會覆蓋舊的!
del:使用del刪除具有指定鍵的字典元素!del a_dict['d']
clear():使用它將會刪除所有元素!a_dict.clear()你會發現a_dict中毛都沒有了!你還可以使用in判斷是否存在'aaaaa' in a_dict結果False
[key]:使用它來獲取元素,a_dict={'a':123213},a_dict['a']通過這樣來獲取此鍵所對應的值!
keys():使用它可以獲取所有鍵!如下:
>>> a_dict={'a':123123123,'b':1332421334,'c':1231233432}
>>> print(a_dict)
{'b': 1332421334, 'a': 123123123, 'c': 1231233432}
>>> a_dict.keys()
dict_keys(['b', 'a', 'c'])
values():可以獲取所有值
>>> a_dict.values()
dict_values([1332421334, 123123123, 1231233432])
items():可以獲取所有的鍵值對!
>>> a_dict.items()
dict_items([('b', 1332421334), ('a', 123123123), ('c', 1231233432)])
*字典同樣通過=來賦值,使用copy()進行復制*
觀眾朋友們還有集合,來聊聊集合吧,集合就像扔了值只剩下鍵的字典一樣!鍵與鍵之間是不允許重複的!(算常識了吧)
set():你可以使用它將其他型別轉換為集合!(重複的元素會丟失)
>>> set('HelloWorld!')
{'e', 'd', 'r', 'H', '!', 'W', 'o', 'l'}
通過這些資料結構我們將來能夠構建更為複雜的資料結構!
最後我們看一個好玩的函式,從一個集合中查詢最大或者最小的N個元素!import heapq
>>> nums =[1,2,332,4,45,63,4,34,5,556]
>>> print(heapq.nlargest(3,nums))
>>> print(heapq.nsmallest(3,nums))
>>> top_web=[{'name':'IBM','shares':100,'price':91.1}, {'name':'FB','shares':50,'price':543} , {'name':'IBM','shares':70,'price':222.1}]
>>> cheap=heapq.nsmallest(3,top_web, key = lambda s:s['price'])
>>> expensive=heapq.nlargest(3.,top_web,key =lambda s:s['price'])
>>> print(expensive)
[{'price': 543, 'shares': 50, 'name': 'FB'}, {'price': 222.1, 'shares': 70, 'name': 'IBM'}, {'price': 91.1, 'shares': 100, 'name': 'IBM'}]
>>> print(cheap)
[{'price': 91.1, 'shares': 100, 'name': 'IBM'}, {'price': 222.1, 'shares': 70, 'name': 'IBM'}, {'price': 543, 'shares': 50, 'name': 'FB'}]