python学习笔记:字典的使用示例详解

 更新时间:2014年06月13日 09:56:44   投稿:hebedich   我要评论
python字典的使用: python字典有很多好用的地方。字典每个元素都有键和值。如同现代汉语字典中的拼音和对应的文字。字典中的键是唯一的,而值不一定唯一。你看,和现代汉语字典多么的相似。

经典字典使用函数
dict:通过其他映射(比如其他字典)或者(键,值)这样的序列对建立字典。当然dict成为函数不是十分确切,它本质是一种类型。如同list。

复制代码 代码如下:

items=[('name','zhang'),('age',42)]
d=dict(items)
d['name']

len(d):返回项的数量
d[k]:返回键k上面的值。
d[k]=v:将k对应的值设置为k。
del d[k]:删除字典中的这一项。
k in d:检查d中是否含有键为k的项。注:只能查找键,不能查找值。
简单的电话本示例:

复制代码 代码如下:

# A simple database
# A dictionary with person names as keys. Each person is represented as
# another dictionary with the keys 'phone' and 'addr' referring to their phone
# number and address, respectively.
people = {
    'Alice': {
        'phone': '2341',
        'addr': 'Foo drive 23'
    },
    'Beth': {
        'phone': '9102',
        'addr': 'Bar street 42'
    },
    'Cecil': {
        'phone': '3158',
        'addr': 'Baz avenue 90'
    }
}
# Descriptive labels for the phone number and address. These will be used
# when printing the output.
labels = {
    'phone': 'phone number',
    'addr': 'address'
}
name = raw_input('Name: ')
# Are we looking for a phone number or an address?
request = raw_input('Phone number (p) or address (a)? ')
# Use the correct key:
if request == 'p': key = 'phone'
if request == 'a': key = 'addr'
# Only try to print information if the name is a valid key in
# our dictionary:
if name in people: print "%s's %s is %s." % \
    (name, labels[key], people[name][key])

字典方法
clear:清除字典中的所有项。

复制代码 代码如下:

x.clear()

copy:浅复制字典。

复制代码 代码如下:

y=x.copy()

deepcopy:同样是复制,来看看和copy的区别。

复制代码 代码如下:

from copy import deepcopy
d={}
d['names']=['as','sa']
c=d.copy()
dc=deepcopy(d)
d['names'].append('ad')

fromkeys:给指定的键建立新的字典,每个键默认对应的值为none.
复制代码 代码如下:

{}.fromkeys(['name','age'])

get:更为宽松的访问字典项的方法。
复制代码 代码如下:

d.get('name')

复制代码 代码如下:

# A simple database using get()
# Insert database (people) from Listing 4-1 here.
labels = {
    'phone': 'phone number',
    'addr': 'address'
}
name = raw_input('Name: ')
# Are we looking for a phone number or an address?
request = raw_input('Phone number (p) or address (a)? ')
# Use the correct key:
key = request # In case the request is neither 'p' nor 'a'
if request == 'p': key = 'phone'
if request == 'a': key = 'addr'
# Use get to provide default values:
person = people.get(name, {})
label = labels.get(key, key)
result = person.get(key, 'not available')
print "%s's %s is %s." % (name, label, result)

has_key:检查字典中是否含有给定的键。d.haos_key()。值返回True ,False。

items:将所有字典项目一列表方式返回。

iteritems:方法大致相同,但是会返回一个迭代器而不是列表。

keys:将字典中的键以列表的方式返回。(注意区分和items的区别)

iterkeys:返回针对键的迭代器。

pop:获得对应给定键的值,然后将键-值对删除。

popitem:弹出一个随机的项,

setdefault:既能获得与给定键相关的值,又能在字典中不含有该键的情况下设定相应的键值。

update:用一个字典更新另一个字典。

复制代码 代码如下:

d={'1':'d','2':'s','3':'a'}
x={'1','jk'}
d.update(x)

values:以列表的形式返回字典中的值。

itervalues:返回值得迭代器。

相关文章

  • python命令行工具Click快速掌握

    python命令行工具Click快速掌握

    这篇文章主要介绍了python命令行工具Click快速掌握,写 Python 的经常要写一些命令行工具,虽然标准库提供有命令行解析工具 Argparse,但是写起来非常麻烦,我很少会使用它。命令行工具中用起来最爽的就是 Click,,需要的朋友可以参考下
    2019-07-07
  • PyQt5每天必学之事件与信号

    PyQt5每天必学之事件与信号

    这篇文章主要为大家详细介绍了PyQt5每天必学之事件与信号的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • python实现模拟按键,自动翻页看u17漫画

    python实现模拟按键,自动翻页看u17漫画

    这篇文章主要介绍了python实现模拟按键,自动翻页看u17漫画,十分简单实用,需要的朋友可以参考下
    2015-03-03
  • Python获取一个用户名的组ID过程解析

    Python获取一个用户名的组ID过程解析

    这篇文章主要介绍了Python获取一个用户名的组ID过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • python使用webbrowser浏览指定url的方法

    python使用webbrowser浏览指定url的方法

    这篇文章主要介绍了python使用webbrowser浏览指定url的方法,实例分析了Python操作webbrowser模块的技巧,非常简单实用,需要的朋友可以参考下
    2015-04-04
  • python字符串string的内置方法实例详解

    python字符串string的内置方法实例详解

    这篇文章主要介绍了python字符串string的内置方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-05-05
  • Python爬虫之网页图片抓取的方法

    Python爬虫之网页图片抓取的方法

    最近小编一直在学习python的东西,今天小编给大家分享基于python写的一个爬虫程序,能实现简单的网页图片下载,具体实例代码大家参考下本文
    2018-07-07
  • Python中类的初始化特殊方法

    Python中类的初始化特殊方法

    本文给大家介绍一下Python中类才初始化时候的特殊方法,通过实例给大家做了分析,一起来学习下。
    2017-12-12
  • Python实现的密码强度检测器示例

    Python实现的密码强度检测器示例

    这篇文章主要介绍了Python实现的密码强度检测器,结合实例形式分析了Python密码强度检测的原理与实现方法,涉及Python字符串运算与转换、判断等相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • python检索特定内容的文本文件实例

    python检索特定内容的文本文件实例

    今天小编就为大家分享一篇python检索特定内容的文本文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06

最新评论