Python字典基本操作

简介: 希望对你有帮助,陌生人字典的创建:phonebook = {'Alice':'2341','Beth':'9102','zdf':'1821355'}items = [('name','Gunmby'),('age',42)]d = di...

希望对你有帮助,陌生人


字典的创建:

  • phonebook = {'Alice':'2341','Beth':'9102','zdf':'1821355'}
  • items = [('name','Gunmby'),('age',42)]
    d = dict(items)
  • d = dict(name='Gumby',age=43)

字典的操作

取大小:len(d)
d[k]=v :赋值 or 添加值
del d[k]:删除键值对
k in d :检查是否包含该键

把数据通过类似于JSON格式的方式存储起来,输入需要的信息就能查找到你要的值;我的名字是ZDF,我要查找的是电话号码,这样需要查的数据的键已经有了,通过这个键就可以在字典中取到相应的数据。

people = {
    'Alice':{
        'phone':'2314',
        'addr':'Foo drive 23'
    },
    'ZDF':{
        'phone':'1821355',
        'addr':'wenshan'
    }
}

labels = {
    'phone':'phone number',
    'addr' :'address'
}

name = raw_input('Name: ')

request = raw_input('Phone number (p) or address (a)? ')

if request == 'p' : key = 'phone'
if request == 'a' : key = 'addr'

if name in people : print "%s's %s is %s." % (name,labels[key],people[name][key])

字典的格式化字符串

template = '''<html>
 <head><title>%(title)s</title>
</head>
<body>
<h1>%(h1)s</h1>
 <p>%(text)s</p> 
</body>
 </html>
 '''
>>> template
'<html>\n<head><title>%(title)s</title>\n</head>\n<body>\n<h1>%(h1)s</h1>\n<p>%(text)s</p>\n</body>\n</html>\n'
data = {'title':'this is dict','h1':'dict','text':'my name is zdf'}
 print template % data

字典方法

clear():清空字典
copy() :潜复制,字典中有列表不能完全复制,而是共同指向一个列表,这样进行修改列表的操作实际是对同一个列表进行操作
deepcopy()深复制,字典中列表各自指向各自的列表
get(key,defalut):访问不存在的值不会报错,会返回默认值,第二个参数就是当访问的key值不存在时返回第二个参数中的值
setdefault:和get有点类似,但是它还能在字典中不含给定键的情况下设定相应的键值
has_key(key):d.has_key(k) 相当于表达式 k in d 注:python3不包括这个函数
fromkeys():创建列表的另一种方法
items():将字典所有项以列表方式放回,无顺序
keys():将字典中所有key值以列表形式返回
values():返回字典中的所有value
iteritems() :返回的是一个键值迭代器(注:python3不包括这个函数)
iterkeys():返回的是一个键迭代器(注:python3不包括这个函数)
itervalues():返回的是一个迭代器(注:python3不包括这个函数)
pop(key):用来获得对应给定的键值,然后从字典中删除。
popitem():随机弹出字典里的键值对
update(dict)将一个字典项更新到另一个字典中,如果存在,直接复制;否则添加新的键值对。

fromkeys()
 {}.fromkeys(['name','age'])
{'age': None, 'name': None}
 dict.fromkeys(['name','age'])
{'age': None, 'name': None}
 dict.fromkeys(['name','age'],'1')
{'age': '1', 'name': '1'}
update(dict)
>>> d = {}.fromkeys(['gender','age'],'1')
>>> z = {}.fromkeys(['name','age'],'1')
>>> z.update(d)
>>> z
{'gender': '1', 'name': '1', 'age': '1'}
>>> d
{'gender': '1', 'age': '1'}
目录
相关文章
|
2月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
53 13
|
2月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
|
2月前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
128 4
|
2月前
|
Python
Python 字典删除下标前两个
Python 字典删除下标前两个
|
1月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
31 0
|
1月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
|
1月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
|
1月前
|
存储 Java Serverless
【Python】字典
【Python】字典
27 0
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
|
1月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (二)
Python操作:字符串--列表--元组--字典--运算符 (二)