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

1.定義                                                                                              html

  映射:經過名字來引用的數據結構。與前面說的數據結構不一樣,一個是經過下標的數字,一個是經過名稱。python

  字典是python中惟一內建的映射類型。字典中的值並無特殊的順序,但都是存儲在一個特定的鍵下。鍵能夠是數字、字符甚至是元組。數據結構

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

 

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

 

   dict函數,能夠經過此函數映射或者對的序列創建字典。函數

  len(d)函數,返回d中鍵值對的數量this

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

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

  del d[k],刪除鍵爲k的項code

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

 

 

 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']=12
11 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 math
4 from math import pi
5 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=values
10 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.寫在最後                                                                                      

  若是對你有必定的幫助,麻煩點個

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

相關文章
相關標籤/搜索