程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Python >> Python字典筆記

Python字典筆記

編輯:Python
1、字典是Python中=唯一的映射類型。映射類型對象裡哈希值(鍵,key)和只指向的對象(值,value)是一對多的關系,一個字典是可變的,是一個容器類型。字典類型和序列類型(元組,列表)的不同在於存儲和訪問數據的方式不同。序列類型只用數字類型的鍵。映射類型可以用其他對象類型左鍵,一般最常見的是用字符串左鍵。映射類型中的數據是無序排列的。 2、字典用{}來建立,內建函數 dict()  或者一個方便的內建函數fromkey()可以創建一個‘默認’字典,字典裡元素具有相同的值。 ddict={}.fromkey(('x','y'),1) ddict:{'y':1,'x':1} 訪問:dict1={'name':'earth','port':80} >>> for key in dict1:     print ('key=%s, value=%s' %(key,dict1[key])) key=name, value=earth key=port, value=80  3、字典是可變的,但是字典裡面的鍵不允許改變! 4、如何更新字典:你可以 添加一個新數據項或新元素(鍵值對);修改一個已經存在的數據項,或者刪除一個已經存在的數據項。 5.字典的比較算法:先比較字典的大小,然後是鍵,最後是值。 6.update()方法可以將一個字典的內容添加到另外一個字典中。字典中原來有的鍵與新添加的鍵重復,重復的鍵所對應的內容被新建所對應的內容覆蓋掉。原來不存在的條目會添加到字典中。 setdefault()方法:檢查字典中是否存在某鍵,若存在,則可以取到它的值,如果找不到,你可以給這個鍵賦默認值並返回該值。 key()  items()  values()都是其內建函數,返回的都是列表 7、字典的鍵: (1)不允許一個鍵對應多個值 (2)鍵必須是可哈希的,像列表和字典這樣可變類型,是不可哈希的,因此不能作為鍵。所有的不變類型都是可哈希的。  例子:管理用戶名和密碼的模擬登陸數據系統
db={}
def newuser():
    prompt='login desired:'
    while True:
        username=input(prompt)
        if username in db:
            prompt='name taken,try another:'
            continue
        else:
            break
    password=input('please enter password:')
    db[username]=password

def olduser():
    username=input('please enter username:')
    password=input('please enter password:')
    psw=db.get(username)
    if password==psw:
        print ('Welcome back %s' % username)
    else:
        print ('login incorrect!')
def showmenu():
    prompt='''
     (N)ew User Login
     (O)ld User Login
     (Q)uit
     Please enter your choice
    '''
    done=False
    while not done:
        chosen=False
        while not chosen:
            try:
                choice=input(prompt).strip()[0].lower()
            except (EOFError,KeyboardInterrupt):
                choice='q'
            print ('\nYou picked:[%s]' %choice)
            if choice not in 'noq':
                print ('Invaild option, try again ')
            else:
                chosen='True'
        if choice=='q':
            done=True
        if choice=='n':
            newuser()
        if choice=='o':
            olduser()

if __name__=='__main__':
    showmenu()

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved