1.8 字典
zip()方法可以把幾個列表組合成一個大列表
字典是python中的唯一的映射類型(哈希表) 使用{} 大括號定義 key,value
字典對象是可變的,但是字典的鍵必須使用不可變對象,一個字典中可以使用不同類型的鍵值。
字典的方法:
- keys()
- values()
- items() 將字典的每對鍵值返回成列表的元素
•創建字典 - dic = {} 創建一個空字典
-
dic = dict() 這樣也可以創建一個空字典
len(a) 返回字典的長度
a.keys() 返回字典的鍵
a.value() 返回字典的value
a.get(k[,d]) 如果key在字典裏,則返回字典的值, 如果不在字典裏,則返回的是d
b in dic 判斷一個key是否在字典裏
a.has_key('a') 同樣可以使用has_key()方法來解決a[鍵值] 通過下標來訪問
help(dict)
dict((['a',1],['b',2])) 通過這種方式創建字典
dict(a=1, b=2) 通過對鍵值直接賦值創建字典 -
fromkeys(),字典元素有相同的值,默認爲None。
ddict = {}.fromkeys((‘x’,’y’), 100) 適合於字典的值都是相同的情況a.copy() 拷貝字典 b=a.copy() 把字典a拷貝一份成新的字典b
a.clear() 刪除字典
a.pop() 刪除字典裏的一對鍵值,並返回value 如果key不存在,則返回錯誤
a.update() 更新字典 a.update(b) 把b字典更新到a字典內去
通過循環遍歷來訪問字典:
例:for k in dic.keys():
for k in dic:
for k, v in dic.items():
1.9 字典練習
編寫一個腳本,記錄用戶鍵盤的輸入,然後把輸入的內容記錄到一個字典中
#!/usr/bin/python
info={}
name=raw_input("Please input name: ")
age=raw_input("Please input age: ")
gender=raw_input("Please input gender (M/F):")
info['name']=name
info['age']=age
info['gender']=gender
print info
for i in info.items(): 遍歷列表
print i
~
也可以使用2個變量接收
for k,v in info.items():
print k,v
也可以用%s來表示
2.0-2.1流程控制--if條件
•if語句
- if expression:
statement(s)
•注:Python使用縮進作爲其語句分組的方法,建議使用4個空格
if 1: 表示true
if 0: 表示false
if 'a': 也返回true
if '' 返回false
if None 返回false
•邏輯值(bool)包含了兩個值: - True:表示非空的量(比如:string,tuple,list,set,dictonary),所有非零數。
- False:表示0,None,空的量等。
•else語句:
- if expression:
statement(s)
else:
statement(s)
•elif語句:
- if expression1:
statement1(s)
elif expression2:
statement2(s)
else:
statement2(s)
例:
#!/usr/bin/python
score=int(raw_input("please a num "))
if score>=90:
print 'A'
print 'Very good'
elif score >=80:
print 'B'
print 'good'
elif score >=70:
print 'C'
print 'pass'
else:
print 'D'
2.
#!/usr/bin/python
yn=raw_input("Please input [Yes/No]:")
yn=yn.lower() 調用lower() 將大寫轉成小寫
if yn == 'y' or yn == 'yes':
print "programe is running..."
elif yn == 'n' or yn == 'no':
print "programe is exit"
else:
print "print input yes/no"