元组
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。
>>>'et'7799.9
'et'7799.9访问元组
修改元组
说明:python中不允许修改元组的数据,包括不能删除其中的元素。
元组的内置函数count, index
index和count与字符串和列表中的用法相同
>>>'a''b''c''a''b'
>>>'a'13#注意是左闭右开区间
""1in
notin
3
2
字典介绍
想一想:
如果有列表
'xiaoZhang''xiaoWang''xiaoLi'
需要对"xiaoWang"这个名字写错了,通过代码修改:
1'xiaoxiaoWang'
如果列表的顺序发生了变化,如下
'xiaoWang''xiaoZhang''xiaoLi'
此时就需要修改下标,才能完成名字的修改
'xiaoxiaoWang'
答:
字典
另一个场景:
学生信息列表,每个学生信息包括学号、姓名、年龄等,如何从中找到某个学生的信息?
>>>1001"王宝强"241002"马蓉"231005"宋喆"24
循环遍历? No!
生活中的字典
软件开发中的字典
变量info为字典类型:
说明:
字典和列表一样,也能够存储多个数据
列表中找某个元素时,是根据下标进行的
字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex')
字典的每个元素由2部分组成,键:值。例如 'name':'班长','name'为键,'班长'为值
根据键访问值
'name'
'address'
结果:
若访问不存在的键,则会报错:
""1in
'age'
在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值:
>>>#'age'键不存在,所以age为None
'NoneType'
>>>'age'18#若info中不存在'age'这个键,就返回默认值18>>>18
字典的常见操作1
修改元素
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改
demo:
'请输入新的学号'
'id'
'修改之后的id为%d:''id'
结果:
添加元素
demo:访问不存在的元素
'name''班长''sex''f''address''地球亚洲中国北京'
'id为:%d''id'
结果:
如果在使用变量名['键'] = 数据时,这个“键”在字典中,不存在,那么就会新增这个元素
demo:添加新的元素
'name''班长''sex''f''address''地球亚洲中国北京'
# print('id为:%d'%info['id'])#程序会终端运行,因为访问了不存在的键
'请输入新的学号'
'id'
'添加之后的id为:%d''id'
结果:
删除元素
对字典进行删除操作,有一下几种:
del
clear()
demo:del删除指定的元素
'name''班长''sex''f''address''地球亚洲中国北京'
'删除前,%s''name'
del'name'
'删除后,%s''name'
结果为:
demo:del删除整个字典
'name''monitor''sex''f''address''China'
'删除前,%s'
del
'删除后,%s'
结果
demo:clear清空整个字典
'name''monitor''sex''f''address''China'
'清空前,%s'
'清空后,%s'
结果
字典的常见操作2
测量字典中,键值对的个数
返回一个包含字典所有KEY的列表
返回一个包含字典所有value的列表
返回一个包含所有(键,值)元祖的列表
has_key(python3已经删除此办法)
dict.has_key(key)如果key在字典中,返回True,否则返回False
若python3 想使用此办法 可以用 for keys indict 代替
运行结果:
公共方法
运算符
+
>>>"hello ""itcast"'hello itcast'>>>1234
1234>>>'a''b''c''d'
'a''b''c''d'*
>>>'ab'4'ababab'>>>124
'a''b''a''b''a''b''a''b'in
>>>'itc'in'hello itcast'True>>>3in12False>>>4in1234True>>>"name"in"name""Delron""age"24True
注意,in在对字典操作时,判断的是字典的键
python内置函数
Python包含了以下内置函数
cmp
>>>"hello""itcast"
1>>>"itcast""hello"1>>>"itcast""itcast">>>1234
1>>>12111>>>12123
1>>>"a"1"b"1
1>>>"a"2"a"11>>>"a"2"a"2"b"1
1
注意:cmp在比较字典数据时,先比较键,再比较值。
len
>>>"hello itcast"12>>>12344>>>342>>>"a"1"b"22
注意:len在操作字典数据时,返回的是键值对个数。
maxdel
del有两种用法,一种是del加空格,另一种是del()
>>>1>>>1>>>del>>>
""1in
'a'isnot>>>'a''b'>>>del>>>
'b'>>>del>>>
""1in
'a'isnot多维列表/元祖访问的示例
23
2
""1in
3
""1in
23453
3
""1in
'int'isnot
引用
想一想
>>>1>>> >>>1>>>2>>>2请问此时b的值为多少?
>>>12>>> >>>
123请问此时b的值又是多少?引用
在python中,值是靠引用来传递来的。
我们可以用id()来判断两个变量是否为同一个值的引用。我们可以将id值理解为那块内存的地址标示。
>>>#注意两个变量的id值相同13033816>>>2>>>#注意a的id值已经变了13033792
123
>>>#注意a与b始终指向同一个地址139935018544808
可变类型与不可变类型
可变类型,值可以改变:
列表 list
字典 dict
不可变类型,值不可以改变:
数值类型 int, long,bool, float
字符串 str
元组 tuple
怎样交换两个变量的值?
作业
1.编程实现对一个元素全为数字的列表,求最大值、最小值
2.编写程序,完成以下要求:
统计字符串中,各个字符的个数
比如:"helloworld" 字符串统计的结果为: h:1 e:1 l:3 o:2 d:1 r:1 w:1
3.编写程序,完成以下要求:
完成一个路径的组装
先提示用户多次输入路径,最后显示一个完成的路径,比如
4.编写程序,完成“名片管理器”项目
需要完成的基本功能:
1、添加名片
2、删除名片
3、修改名片
4、查询名片
5、退出系统
程序运行后,除非选择退出系统,否则重复执行功能
领取专属 10元无门槛券
私享最新 技术干货