目录
扫描二维码关注公众号,回复:
12564262 查看本文章
1. 复习反馈
判断一个方法是否有返回值
列表中的删除操作
新建day04项目
2. 字典
2.0 字典介绍
1. 生活中的字典
2. 软件开发中的字典
变量info为字典类型:
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'}
说明:
- 字典和列表一样,也能够存储多个数据。
- 列表中找某个元素时,是根据下标进行的。
- 字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')。
- 字典的每个元素由2部分组成,键:值。例如 'name':'班长' ,'name'为键,'班长'为值。
3. 根据键访问值
2.1 字典的定义和访问
2.2 字典中添加和修改数据
2.3 字典中删除数据
2.4 字典中遍历数据
通过for ... in ...,我们可以遍历字符串、列表、元组、字典等。
注意python语法的缩进!
1. 字符串遍历
>>> a_str = "hello itcast"
>>> for char in a_str:
... print(char,end=' ')
...
h e l l o i t c a s t
2. 列表遍历
>>> a_list = [1, 2, 3, 4, 5]
>>> for num in a_list:
... print(num,end=' ')
...
1 2 3 4 5
3. 元组遍历
>>> a_turple = (1, 2, 3, 4, 5)
>>> for num in a_turple:
... print(num,end=" ")
1 2 3 4 5
1、for循环遍历字典(遍历的是字典的key值)
2、字典.keys()
3、字典.values()
4、字典.items()
2.5 enumerate 函数
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
2.6 公共方法
1、运算符
+:
支持 字符串、列表、元组进行操作, 得到一个新的容器。
* 整数:
复制, 支持 字符串、列表、元组进行操作, 得到一个新的容器。
in/not in:
判断存在或者是不存在,支持 字符串、列表、元组、字典进行操作。注意: 如果是字典的话,判断的是 key 值是否存在或不存在。
max/min:
对于字典来说,比较的字典的 key值的大小。
# +
>>> "hello " + "itcast"
'hello itcast'
>>> [1, 2] + [3, 4]
[1, 2, 3, 4]
>>> ('a', 'b') + ('c', 'd')
('a', 'b', 'c', 'd')
# *
>>> 'ab' * 4
'ababab'
>>> [1, 2] * 4
[1, 2, 1, 2, 1, 2, 1, 2]
>>> ('a', 'b') * 4
('a', 'b', 'a', 'b', 'a', 'b', 'a', 'b')
# in【注意,in在对字典操作时,判断的是字典的键!】
>>> 'itc' in 'hello itcast'
True
>>> 3 in [1, 2]
False
>>> 4 in (1, 2, 3, 4)
True
>>> "name" in {"name":"Delron", "age":24}
True
2、python内置函数
# len【注意:len在操作字典数据时,返回的是键值对个数。】
>>> len("hello itcast")
12
>>> len([1, 2, 3, 4])
4
>>> len((3,4))
2
>>> len({"a":1, "b":2})
2
# max
>>> max("hello itcast")
't'
>>> max([1,4,522,3,4])
522
>>> max({"a":1, "b":2})
'b'
>>> max({"a":10, "b":2})
'b'
>>> max({"c":10, "b":2})
'c'
# del【del有两种用法,一种是del加空格,另一种是del()】
>>> a = 1
>>> a
1
>>> del a
>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
>>> a = ['a', 'b']
>>> del a[0]
>>> a
['b']
>>> del(a)
>>> a
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'a' is not defined
3、多维列表/元祖访问的示例
>>> tuple1 = [(2,3),(4,5)]
>>> tuple1[0]
(2, 3)
>>> tuple1[0][0]
2
>>> tuple1[0][2]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
>>> tuple1[0][1]
3
>>> tuple1[2][2]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> tuple2 = tuple1+[(3)]
>>> tuple2
[(2, 3), (4, 5), 3]
>>> tuple2[2]
3
>>> tuple2[2][0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable
总结答疑
在字典中可以包含列表,列表中能包含字典吗?
可以,列表、元组可以存放任意类型的数据。同样,字典中的value也可以是任意的类型,字典也可以作为字典的 value 值。
字典的常见操作
字典的常见操作<1>查看元素
除了使用key查找数据,还可以使用get来获取数据。
字典的常见操作<2>修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改。
字典的常见操作<3>添加元素
访问不存在的元素:
如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素:
字典的常见操作<4>删除元素
对字典进行删除操作,有一下2种:
- del
- clear()