1. 程式人生 > >python重難點(個人學習2)

python重難點(個人學習2)

一, python字典操作方法及知識點

    fromkeys(*args,**kwargs) :建立一個薪資點,以序列seq中的原色做字典的鍵,val為字典所有對應鍵值初始化。

    get(self,k,d=none)若無對應值,可以設定預設返回值

    popitem(self) 隨機刪除一組鍵和值

    setdefault(self, k, d=default) 和get類似,但如果鍵不存在,將會新增鍵並將值設為default   

    字典的鍵不能為list

     list,set,dict 不能被雜湊, int,float,str,tuple 可以被雜湊

     直接宣告的dict可以通過tuple()和list()分別轉換成tuple和list型別(結果只包含了keys),可是此時卻能通過dict()反轉回原來的dict型別

二,列表

    extend(self,iterable)在列表末尾一次性追加另一個序列的值

    reverse(self, value) 反向列表中的元素。

    remove()刪除找到的第一個元素。

    for index,i enumerate(list,10):

        print(index, i)

序列預設從零開始,第二個引數設定序列開始位。

三,字串

split()函式有個小陷阱,比如對於字串s,s.split()和s.split(" ")的返回值不同。看下面程式碼

1

2

3

= "  hello world"#前面有兩個空格

print s.split()

print s.split(

' ')

輸出結果如下

1

2

['hello', 'world']

['', '', 'hello', 'world']

儘量使用join()連結字串,因為’+’號連線n個字串需要申請n-1次記憶體,使用join()需要申請1次記憶體。 

將print的字串寫到檔案

1

2

>>> print >> open("somefile.txt", "w+"), "Hello World"  

# Hello World將寫入檔案somefile.txt

 

固定長度分割字串:findall內可用正則表示式

1

2

3

4

>>> import re

>>> s = '1234567890'

>>> re.findall(r'.{1,3}', s)  # 已三個長度分割字串

['123''456''789''0']