1. 程式人生 > >python3學習之路(1)

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'}]