python字典类型用法举例

python词典类型用法譬如

字典是python语言中并世无两的照射类型,用花括号{}表示,三个辞典条目款项正是四个键值对,方法keys(State of Qatar重返辞书的键列表,values(卡塔尔国重返辞书的值列表,items(卡塔尔重回字典的键值对列表。词典中的值未有任何限定,它们可以是任意python对象,但辞典中的键是有档期的顺序节制的,种种键只好对应多少个值,且键必得是可哈系的,全体不可变类型都以可哈希的。不可变集结frozenset的因素可看做辞书的键,但可变集合set就极度了。

python字典类型用法举例。 

以下是字典类型的常用方法

clear():删除词典中享有因素。

copy():再次回到词典(浅复制)的三个别本。

fromkeys(seq,val=None):创造并回到三个新词典,以seq中的成分做该词典的键,val做该辞书中全数键对应的伊始值。

get(key,default=None):再次来到字典中的键key对应的值value,要是词典中不设有此键,则赶回default的值。

has_key(key):假使键key在词典中留存,再次回到True,不然再次来到False。python2.2后这几个措施大致已丢弃不用了,常常用in来代替。

items():重回七个包括辞典中键值对元组的列表。

keys():重临一个含有字典中键的列表。

iter():方法iteritems(卡塔尔(قطر‎、iterkeys(State of Qatar、itervalues(卡塔尔(قطر‎与它们对应的非迭代方法少年老成致,不相同的是它们再次回到二个迭代子,而不是二个列表。

pop(key[,default]):和方法get(卡塔尔国肖似,若是字典中key键存在,删除并赶回dict[key],如若key键荒诞不经,且并未有给出default的值,引发KeyError格外。

setdefault(key,default=None):和办法get(State of Qatar相近,假诺词典中官样文章key键,由dict[key]=default为它赋值。

update(dict2):将词典dict2的键值对增加到当下词典中。

values():重临三个蕴涵词典中全部值的列表。

 

下边以一个模仿客户登入的数据系统为例介绍词典的用法。

 

#!/usr/bin/env python 

db = {} 

def newuser(): 
 prompt = 'register: ' 
 while True: 
  name = raw_input(prompt) 
  if db.has_key(name): 
   prompt = 'name taken, try another: ' 
   continue 
  else: 
   break 
 pwd = raw_input('passwd: ') 
 db[name] = pwd 

def olduser(): 
 name = raw_input('login: ') 
 pwd = raw_input('passwd: ') 
 passwd = db.get(name) 
 if passwd == pwd: 
  print 'login success:', name 
 else: 
  print 'login failure' 

def showmenu(): 
 prompt = """ 
(R)eister 
(L)ogin 
(Q)uit 
Enter choice: """ 

 done = False 
 while not done: 
  chosen = False 
  while not chosen: 
   try: 
    choice = raw_input(prompt).strip()[0].lower() 
   except (EOFError, KeyboardInterrupt): 
    choice = 'q' 
   print 'nYour choice: [%s]' %choice 
   if choice not in 'rlq': 
    print 'invalid option, try again' 
   else: 
    chosen = True 
    if choice == 'r': 
     newuser() 
    elif choice == 'l': 
     olduser() 
    else: 
     done = True 

if __name__ == '__main__': 
 showmenu()

 

本子第三行初步化一个空的db词典,第9行通过has_key(State of Qatar决断新注册的客商名(字典的key)是或不是留存,第15行通过方括号[]给多个顾客名增加密码(即给叁个键加多值),第20行通过get(卡塔尔(قطر‎获取顾客名对应的密码(即与词典的key对应的value)。第38行的strip(卡塔尔是字符串管理函数,这几个地方用来删除字符串首尾的空白符。

词典是python语言中不二法门的照射类型,用花括号{}表示,三个辞典条约正是贰个键值对,方法keys(State of Qatar重临词典的键列表,…

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图