Python基礎系列----字典、基本語句,python----

來源:互聯網
上載者:User

Python基礎系列----字典、基本語句,python----

1.定義                                                                                              

  映射:通過名字來引用的資料結構。與前面說的資料結構不同,一個是通過下標的數字,一個是通過名稱。

  字典是python中唯一內建的映射類型。字典中的值並沒有特殊的順序,但都是儲存在一個特定的鍵下。鍵可以是數字、字元甚至是元組。

  字典由多個鍵及其對應的值構成的鍵-值對組成。

 

1 phonebook={'Tom':'123456','Beth':'123'}2 names={}View Code

 

   dict函數,可以通過此函數映射或者對的序列建立字典。

  len(d)函數,返回d中索引值對的數量

  d[k],返回關聯到鍵k上的值

  d[k]=x,將值x關聯到鍵k上

  del d[k],刪除鍵為k的項

  k in d,檢查鍵k是否在d中。

 

 

1 items=[('name','Gumby'),('age',22)] 2 print(items) 3 4 d=dict(items) 5 print(d) 6 7 print(len(d)) 8 print(d['name']) 9 10 d['age']=1211 print(d)12 print('age' in d)View Code

 

  字典的鍵可以是任意不可變的類型。

1.1字典的格式化字串                                                                                                 

  通過前面,我們知道了字串的格式化,傳入的參數我們可以使用元組等序列,當然字典也可以同樣實現。如下:

template='''<html> <head> <title>%(title)s</title> </head> <body> <h1>%(title)s</h1> <p>%(text)s</p> </body></html>'''data={'title':'My Home Page','text':'Welcome to my home page!'}print(template %data)View Code

  通過上面的例子,我們發現,我們可以很好的利用此特性來完成一些比較特殊的任務。除了增加的字串鍵以外,轉換說明符還是和以前一樣。當以這種方式使用字典時,只要給出的鍵都能在字典中找到,就可以使用任意數量的轉換說明符。 

1.2字典的方法                                                                                                             

  1.clear方法,清楚字典中的所有項

  2.copy方法,返回一個具有相同索引值對的字典

  3.fromkeys方法,使用給定的鍵建立新的字典,每個鍵都對應一個預設的值None

  4.get方法,根據鍵名,返回對應的值

  5.has_key方法,檢查當前字典是否包含有特定的鍵

  6.items方法,將字典索引的項以列表的方式返回;iteritems方法,與items大致相同,但是會返回一個迭代器,而不是列表

  7.keys方法,將字典中的鍵以列表形式返回,而iterkeys方法,則返回針對鍵的迭代器

  8.pop方法,獲得對應與給定鍵的值,然後將這個索引值對從字典移除

  9.popitem方法,隨機返回一個索引值對

  10.setdefault方法,與get方法類似,擷取給定鍵的值,若當前鍵在字典中不存在,則返回設定的預設值

  11.update方法,利用一個字典更新另外一個字典

  12.values方法,以列表的形成返回字典中的值;而itervalues方法,返回一個值的迭代器

 

1 d={'title':'My Home Page','text':'Welcome to my home page!'} 2 print(d) 3 d.clear() 4 print(d) 5 6 d={'title':'My Home Page','text':'Welcome to my home page!'} 7 f=d.copy() 8 print(d) 9 print(f)10 11 print({}.fromkeys(['name','age']))12 13 print(d.get('title'))14 15 print(d.keys())View Code

2.基本語句                                                                                        

2.1print和import                                                                                                         

  1.使用逗號輸出,在前面已經提到過print來列印結果,不管是字串還是其他類型進行自動轉換後的字串,在列印多個運算式時,可以使用逗號將其隔開。

  2.import,從模組中匯入函數

1 print('Age:',22)2 3 import math4 from math import pi5 from math import *View Code

2.2賦值魔法                                                                                                                   

  1.序列解包:將多個值的序列解開,然後放到變數的序列中,也叫遞迴解包

1 x,y,z=1,2,3 2 print('x:',x,',y:',y,',z:',z) 3 4 x,y=y,x 5 6 print('x:',x,',y:',y,',z:',z) 7 8 values=1,2,3 9 x,y,z=values10 print('x:',x,',y:',y,',z:',z)View Code

  通過以上我們可以看出,解包的序列中的元素必須和防止在賦值符號=左邊的變數數量完全一致 

  2.鏈式複製:將同一個值賦給多個變數的捷徑。例如:x=y=1

   3.差異複寫:差異複寫為鏈式複製的一種特殊情況,例如:x=1;x+=1

2.3語句塊:縮排的樂趣                                                                                                  

  語句塊是字條件為真時執行或者執行多次的一組語句。在代碼前放置空格來縮排語句即可建立語句塊。一般情況下,我們使用4個空格

2.4條件和條件陳述式                                                                                                        

  條件,我們都知道,在不同的語言中,相信都有類似的表達方式,在python中,根據條件我們可以知道他 究竟返回的是真(true)或者假(false)。在python中,false、None、0、""、()、[]、{}返回false,其他情況下返回true。

  1.if,else,elif語句,通過這三者之間的串連,我們可以對我們的邏輯進行不同的判斷篩選。

 

1 num=input('Enter a number:')2 if num>0:3 print('The number is positive')4 elif num<0:5 print('The number is negative')6 else:7 print('The number is zero')View Code

 

  2.比較子:

python比較子
運算式 描述
x==y x等於y
x<y x小於y
x>y x大於y
x<=y x小於等於y
x>=y x大於等於y
x!=y x不等於y
x is y x和y是同一個對象
x is not y x和要是不同的對象
x in y x是y容器 的成員
x not in y x不是y容器的成員

  3.斷言,在程式中,遲早會出現崩潰,不如在錯誤條件出現時就讓它崩潰,這樣避免給後續的業務造成不可估量的損失。通常我們使用是哦那個assert進行斷言,例如:age =10;assert 1<age<10;

如果age在這個地方不滿足條件時,就會拋出異常,不再執行下面的語句。

2.5迴圈                                                                                                                       

  1.迴圈,while、for

1 x=1 2 while x<=100: 3 print(x) 4 x+=1 5 6 words=['this','is','an','ex','parrot'] 7 for word in words: 8 print(word) 9 10 for number in range(1,100):11 print(number)View Code

  2.字典迴圈遍曆

1 d={'x':1,'y':2,'z':3}2 for key,value in d.items():3 print(key,' corredponds to',value)View Code

  3.並行迭代,通常使用zip方法將兩個個數相同的列表,通過對應的下標合并為一個元組的列表。

names=['anne','beth','george','damon']ages=[12,23,34,45]for i in range(len(names)): print(names[i],'is',ages[i],'years old')zips=zip(names,ages)print(zips)for name,age in zips: print(name,'is',age,'years old')View Code

  4.翻轉和排序迭代。及reversed方法和sorted方法

 

1 print(sorted([2,5,4,3,1]))2 3 print(sorted('Hello,world!'))4 5 print(''.join(list(reversed('Hello,world!'))))View Code

 

  5.跳出迴圈。目前有兩種方式,continue:結束當前迭代,跳轉到下一個迭代中;break,結束當前整個迴圈,之前迴圈外的後續代碼。

2.6列表推導式----輕量級迴圈                                                                                         

  列表推導式,利用其他列表建立新的列表的一種方法。工作方式類似於for迴圈。

 

1 d=[x*x for x in range(10)]2 print(d)3 4 d=[x*x for x in range(10) if x%3==0]5 print(d)6 7 d=[(x,y) for x in range(3) for y in range(3)]8 print(d)View Code

 

  列表推倒時對我們有十分巨大的用處,特別是在構建某些對象時。

3.寫在最後                                                                                      

  如果對你有一定的協助,麻煩點個

 若需要轉載,請標明出處!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.