dictionary,字典,无序的列表——用于查询表的制作

dictionary的基本操作:

# -*- coding: utf-8 -*-
life = {                        # 创建dictionary
    'baby': '0-3',
    'little_child': '4-7',
    'child': '8-12'
} 

print life['baby']              # dict中元素的输出和列表相似

life['teenage'] = '13-17'       # 元素的添加
life['adult'] = '18-60'
print life

del life['adult']               # 元素的删除
print life

print "The progress of life is %s,%s,%s." % (
    life['baby'],
    life['little_child'],
    life['child']
)

———————————————————————华丽——————————————的————————————————分割——————————————————————————

dictionary的函数:

1.  dict.items()

  以(键,值)的方式输出dict

  

for lives,period in life.items(): # dict.items的用法——创建lives和period两个变量,分别用作life这个字典中“:”前后的变量名
    print "Age between %s belongs to %s." % (period, life)
    
print lives,period # .items()语句中创建的是全局变量!

2.  dict.get()

period_ = life.get("Old", "Not exist.") # get函数得到的第一个参数在dict中存在,返回它的值;否则返回逗号之后的值
print "The new period is ", period_     #    get得到的值并不会赋值到dict中,仅临时存在
print life
period__ = life.get('babies', '0-4') 
print period__,"\n",life

 

3.   repr();str();"" 三者输出的异同

  repr和“”输出一致,适合python阅读

  str()的适用于输出,输出可读性好的字符串

 

4.  dict.fromkeys(s,v)

  

dict = dict.fromkeys(("keys",), 'this is the keyboards')
print dict
dict = dict.fromkeys('keys','this is the keyboards') # 少了逗号,元素变成了'k','e','y','s'
print dict 

keywords = "key1","key2","key3"
content = "All the content is the same."
dict = dict.fromkeys(keywords,content) # .fromkeys(s, v)创建的列表中,键为s, 值为v
print dict

 

5.  dict.has_key() 

   用于判断dict中是否有指定的键

life = {                
    'baby': '0-3',
    'little_child': '4-7',
    'child': '8-12'
} 

print "Does life has 'baby'?", life.has_key('baby')
print "Does life has 'old'?", life.has_key('old')

 

6.  dict.keys()&dict.values()&dict.items()

   分别返回dict的键和值

 

#? dict.iteritems()  dict.iterkeys() dict.itervalues()

 

7.  dict.pop()&dict.popitem()

   

# -*- coding utf-8 -*-
life = {                
    'baby': '0-3',
    'little_child': '4-7',
    'child': '8-12'
} 
life.popitem()
print life()

life.pop('baby','0-3') #同时输入键和值
print life
life.pop('child') #仅输入键
print life

life.popitem() # .popitem不需要参数,pop由python决定的一个参数。和help中的提示不符,一脸懵逼
print life

 

8.  dict.setdefualt(k,d)

   

# -*- coding utf-8 -*-
life = {                
    'baby': '0-3',
    'little_child': '4-7',
    'child': '8-12'
} 

life.setdefault('key,','key content') #键不存在时,设置键位定义的默认值
print life
life.setdefault('baby','0') #键存在时,跳过定义
print life

 

9.  dict.update(E)

# -*- coding: utf-8 -*-
life = {                
    'baby': '0-3',
    'little_child': '4-7',
    'child': '8-12'
} 

listone = 'whos', 'your', 'daddy'

dictone ={
    'first': 'greed', 
    'two':'is', 
    'three':'good'
}
print listone,"\n",dictone

life.update(dictone) #update dictone的键和值到life
print life

life.update(listone) # 出错了!原因未知
print life

 

10.  dict.viewitems()

     dict.viewkeys()

     dict.viewvalues()

     遍历dict的内容,键和值

 

11.  dict.clear()

===========================================================================================================

总结:

dictionary的创建:

  1.  NAME = {

       key1:value1,

       key2:value2,

       .....

       keyn:valuen

    }

  2.     NAME = NAME.fromkeys(keys, content)

 

dictionary的查阅和遍历

  查阅:

  1.  NAME【key】

  2.  NAME.items()

  遍历:

  1.  NAME.keys&NAME.values&NAME.items

  2.  NAME.viewkeys&NAME.viewvalues&NAME.viewitems

 

dictionary的赋值

  1.  NAME【key】 = value

  2.  NAME.setdefault(k,d)

  3.  NAME.update(E)

 

dictionary值的判断和输出

  判断

  1.  NAME.has_key(k)

  输出

  1.  NAME.pop(k)

  2.  NAME.popitem()

  3.    NAME.get(k,d)

posted on 2016-08-15 14:02  公子不吃梨  阅读(254)  评论(0编辑  收藏  举报