Chapter04 字典:当索引不好用时
来源:互联网 发布:普通话在线测试软件 编辑:程序博客网 时间:2024/05/02 03:03
字典的使用
>>> names = ['Alice','Bob']
>>> names[1]
'Bob'
>>> numbers = ['1234', '4321']
>>> numbers[names.index('Bob')]
'4321'
创建和使用字典
>>> phonebook = {'Alice': '1234', 'Bob': '4321'}
>>> phonebook
{'Bob': '4321', 'Alice': '1234'}
可以这样调用
>>> phonebook['Bob']
'4321'
反之就不行
>>> phonebook['4321']
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
phonebook['4321']
KeyError: '4321'
dict函数
通过其他映射(比如字典,这里的phonebook)或者(键,值)这样的序列对建立字典。
>>> d = dict(phonebook)
>>> d
{'Bob': '4321', 'Alice': '1234'}
>>> d['Bob']
'4321'
基本字典操作
len(d) 返回d中项(一个键值对)的数量
d[k] 返回关联到键k上的值
d[k] = v 将值v关联到键k上
del d[k] 删除键为k的项
k in d 检查d中是否含有键为k的项
字典的格式化字符串
>>> phonebook
{'Bob': '4321', 'Alice': '1234'}
>>> "Bob's phone number is %(Bob)s." % phonebook
"Bob's phone number is 4321."
>>> "Bob's phone number is %(Alice)s." % phonebook
"Bob's phone number is 1234."
字典方法
clear -清除字典中多有的项
>>> phonebook
{'Bob': '4321', 'Alice': '1234'}
>>> phonebook.clear()
>>> phonebook
{}
copy -返回一个具有相同键值的新字典
>>> DB = {'name':'Merisc', 'school':'Sun-Yet'}
>>> DB
{'school': 'Sun-Yet', 'name': 'Merisc'}
>>> me = DB.copy()
>>> me
{'school': 'Sun-Yet', 'name': 'Merisc'}
fromkeys -使用给定的键建立新的字典,每个键默认对应的值为None
>>> {}.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> dict.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> dict.fromkeys(['name','age'],'(unknown)')
{'age': '(unknown)', 'name': '(unknown)'}
get -访问字典项,不存在时出错
>>> d = {}
>>> print d['name']
Traceback (most recent call last):
File "<pyshell#54>", line 1, in <module>
print d['name']
KeyError: 'name'
>>> print d.get('name')
None
>>> print d.get('name', 'N/A')
N/A
>>> d['name'] = 'Eric'
>>> d.get('name')
'Eric'
has_key -检查是否含有给出的键
>>> d.has_key('name')
True
>>> d.has_key('n')
False
items和iteritems -items以列表方式返回所有字典项,
-iteritems返回一个迭代器对象而不是列表(一般更高效)
>>> d.items()
[('name', 'Eric')]
>>> it = d.iteritems()
>>> it
<dictionary-itemiterator object at 0x000000000329AD68>
>>> d.iteritems
<built-in method iteritems of dict object at 0x0000000002F28CE8>
keys和iterkeys -keys以列表的形式返回,iterkeys返回针对键的迭代器
pop -获得对应于给定键的值,并且将这个键值对移除
>>> DB
{'school': 'Sun-Yet', 'name': 'Merisc'}
>>> DB.pop('school')
'Sun-Yet'
>>> DB
{'name': 'Merisc'}
popitem -弹出随机的项,并且移除
setdefault -类似于get,获得给定键相关联的值,在字典中不含有给定键的情况下设定相应的键值。
>>> d = {}
>>> d.setdefault('name','N/A')
'N/A'
>>> d
{'name': 'N/A'}
update -可以利用一个字典项更新另外一个字典
>>> d = {'title':'Python', 'url':'www.python.org'}
>>> x = {'title':'C++'}
>>> d.update(x)
>>> d
{'url': 'www.python.org', 'title': 'C++'}
values和itervalues -values以列表的形式返回字典中的值
-itervalues返回值得迭代器
>>> d = {}
>>> d[1] = 1
>>> d[2] = 2
>>> d[3] = 3
>>> d[4] = 1
>>> d.values()
[1, 2, 3, 1]
>>> d.itervalues()
<dictionary-valueiterator object at 0x000000000329ADB8>
小结
1.映射
2.利用字典格式化字符串
3.字典的方法
>>> names = ['Alice','Bob']
>>> names[1]
'Bob'
>>> numbers = ['1234', '4321']
>>> numbers[names.index('Bob')]
'4321'
创建和使用字典
>>> phonebook = {'Alice': '1234', 'Bob': '4321'}
>>> phonebook
{'Bob': '4321', 'Alice': '1234'}
可以这样调用
>>> phonebook['Bob']
'4321'
反之就不行
>>> phonebook['4321']
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
phonebook['4321']
KeyError: '4321'
dict函数
通过其他映射(比如字典,这里的phonebook)或者(键,值)这样的序列对建立字典。
>>> d = dict(phonebook)
>>> d
{'Bob': '4321', 'Alice': '1234'}
>>> d['Bob']
'4321'
基本字典操作
len(d) 返回d中项(一个键值对)的数量
d[k] 返回关联到键k上的值
d[k] = v 将值v关联到键k上
del d[k] 删除键为k的项
k in d 检查d中是否含有键为k的项
字典的格式化字符串
>>> phonebook
{'Bob': '4321', 'Alice': '1234'}
>>> "Bob's phone number is %(Bob)s." % phonebook
"Bob's phone number is 4321."
>>> "Bob's phone number is %(Alice)s." % phonebook
"Bob's phone number is 1234."
字典方法
clear -清除字典中多有的项
>>> phonebook
{'Bob': '4321', 'Alice': '1234'}
>>> phonebook.clear()
>>> phonebook
{}
copy -返回一个具有相同键值的新字典
>>> DB = {'name':'Merisc', 'school':'Sun-Yet'}
>>> DB
{'school': 'Sun-Yet', 'name': 'Merisc'}
>>> me = DB.copy()
>>> me
{'school': 'Sun-Yet', 'name': 'Merisc'}
fromkeys -使用给定的键建立新的字典,每个键默认对应的值为None
>>> {}.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> dict.fromkeys(['name','age'])
{'age': None, 'name': None}
>>> dict.fromkeys(['name','age'],'(unknown)')
{'age': '(unknown)', 'name': '(unknown)'}
get -访问字典项,不存在时出错
>>> d = {}
>>> print d['name']
Traceback (most recent call last):
File "<pyshell#54>", line 1, in <module>
print d['name']
KeyError: 'name'
>>> print d.get('name')
None
>>> print d.get('name', 'N/A')
N/A
>>> d['name'] = 'Eric'
>>> d.get('name')
'Eric'
has_key -检查是否含有给出的键
>>> d.has_key('name')
True
>>> d.has_key('n')
False
items和iteritems -items以列表方式返回所有字典项,
-iteritems返回一个迭代器对象而不是列表(一般更高效)
>>> d.items()
[('name', 'Eric')]
>>> it = d.iteritems()
>>> it
<dictionary-itemiterator object at 0x000000000329AD68>
>>> d.iteritems
<built-in method iteritems of dict object at 0x0000000002F28CE8>
keys和iterkeys -keys以列表的形式返回,iterkeys返回针对键的迭代器
pop -获得对应于给定键的值,并且将这个键值对移除
>>> DB
{'school': 'Sun-Yet', 'name': 'Merisc'}
>>> DB.pop('school')
'Sun-Yet'
>>> DB
{'name': 'Merisc'}
popitem -弹出随机的项,并且移除
setdefault -类似于get,获得给定键相关联的值,在字典中不含有给定键的情况下设定相应的键值。
>>> d = {}
>>> d.setdefault('name','N/A')
'N/A'
>>> d
{'name': 'N/A'}
update -可以利用一个字典项更新另外一个字典
>>> d = {'title':'Python', 'url':'www.python.org'}
>>> x = {'title':'C++'}
>>> d.update(x)
>>> d
{'url': 'www.python.org', 'title': 'C++'}
values和itervalues -values以列表的形式返回字典中的值
-itervalues返回值得迭代器
>>> d = {}
>>> d[1] = 1
>>> d[2] = 2
>>> d[3] = 3
>>> d[4] = 1
>>> d.values()
[1, 2, 3, 1]
>>> d.itervalues()
<dictionary-valueiterator object at 0x000000000329ADB8>
小结
1.映射
2.利用字典格式化字符串
3.字典的方法
- Chapter04 字典:当索引不好用时
- 字典:当索引不好用时
- 字典:当索引不好用时
- 025:字典:当索引不好用时
- 026:字典:当索引不好用时2
- Python基础--字典:当索引不好用时
- 第四章 字典:当索引不好用时
- Python 字典:当索引不好用时
- 第四章 字典:当索引不好用时
- 第四章 字典:当索引不好用时
- 11.字典:当索引不好用时
- Python学习笔记(四) 字典: 当索引不好用时
- Python基础编程(四)字典:当索引不好用时
- Python学习笔记-第四章 字典:当索引不好用时
- Python 第四章 字典:当索引不好用时
- Python基础教程笔记——字典:当索引不好用时
- 《python 基础教程》第四章 字典:当索引不好用时
- 《Python基础教程》学习笔记 Chap4 字典:当索引不好用时
- 想从测试转开发 求大神们给点建议
- 黑马程序员---基础增强
- 黑马程序员---枚举与反射
- java heap space解决方法和JVM参数设置
- windows多进程编程
- Chapter04 字典:当索引不好用时
- 字典和列表的区别
- NYOJ 42 一笔画问题 http://acm.nyist.net/JudgeOnline/problem.php?pid=42
- windows多线程编程
- 配置我自己的vs环境
- exception处理
- Win API通用对话框之GetOpenFileName
- y510p 安装ubuntu问题解决记录
- BitBlt参数含义