Python学习之旅(八)
Python基础知识(7):数据基本类型之元组、字典
一、元组
用括号把元素括起来中间用逗号隔开。用逗号分开一些值便可创建元组
1,2,3
结果:
(1, 2, 3)
空元组可以用没有包含任何内容的两个圆括号表示,如()。
1、元素不可被修改,不能进行增加、删除操作
2、建议写元组的时候在右括号的左边加一个逗号,以便与方法区分开来。如(1,2,3,)
一个值加上逗号可以实现一个值的元组,如(43,)
3、元组可以通过索引取值
4、元组也可以通过分片取值,元组的分片还是元组
5、元组可以使用for循环
6、元组、字符串、列表三者之间可以相互转换
s="123" tuple(s) 结果:('1', '2', '3') list(s) 结果:['1', '2', '3'] l=["a","b","c"] tuple(l) 结果:('a', 'b', 'c') str(l) 结果:"['a', 'b', 'c']" t=(5,7,8) str(t) 结果:'(5, 7, 8)' list(t) 结果:[5, 7, 8]
7、extend:追加一个元素
8、count:计算元素个数
9、index:按索引获取值
10、元组的一级元素不可修改,但可以修改元组中列表的元素
t=(1,3,[("a","b"),1],"Alice",True,(5,6)) t[2][1]="more" t
结果:
(1, 3, [('a', 'b'), 'more'], 'Alice', True, (5, 6))
二、字典
定义字典时用大括号,字典由多个键及其对应的值构成的键-值对组成,键-值对也称为项。每个键和它的值之间用冒号隔开,每个项之间用逗号隔开。
1、可以使用dict()函数创建字典
方法一: items=[("name","Alice"),("age","12")] d=dict(items) d 结果: {'age': '12', 'name': 'Alice'}
方法二: d=dict(name="Alice",age="12") d 结果: {'age': '12', 'name': 'Alice'}
2、字典中的值(value)可以是任意值,如字符串、列表、元组等。同时字典中的值也可以嵌套很多层。
info={"k1":"Alice","age":12,3:[3,2,(["more","money"],11),2],"note":"forgot"}
3、列表、字典不能作为键(key)。如果键重复只能保留一个
4、通过键(key)取值
如上面例子中的info["k1"]
5、字典是无序的
6、不能通过分片取值
7、字典可以使用del删除
8、字典可以使用len()获知字典中项(键-值)的数目
9、字典可以使用for循环
for默认循环输出键,使用keys()也可以输出key。如果想要输出值可以使用value()。
info={"k1":"Alice","age":12,3:[3,2,(["more","money"],11),2],"note":"forgot"} for item in info: print(item) print("=" * 50) for item in info.keys(): print(item) print("=" * 50) for item in info.values(): print(item) print("=" * 50)
#输出项(键-值对)
for k,v in info.items(): print(k,v)
结果:
note
k1
3
age
==================================================
note
k1
3
age
==================================================
forgot
Alice
[3, 2, (['more', 'money'], 11), 2]
12
==================================================
note forgot
k1 Alice
3 [3, 2, (['more', 'money'], 11), 2]
age 12
10、字典方法
(1)clear:清除字典中所有的项
(2)copy:浅复制,返回一个具有相同键-值对的字典
(3)fromkeys:使用给定的键建立新字典,每个键都对应一个默认值None
{}.fromkeys(["name","age"])
结果:
{'name': None, 'age': None}
(4)get:访问字典的项,当访问的项不存在时会报错,访问的键不存在时会返回默认值None
(5)items:把字典中的所有键-值对以列表的方式返回,但项返回时并没有特定的顺序
(6)pop:将对应的键-值对从字典中移除
popitem:随机删除一个项
(7)setdefault:获得与给定键相关的值
当键不存在时,setfault会相应的在字典中国添加;如果键存在,就返回其相对应的值
(8)update:可以利用一个字典的项更新另一个字典的项