python高级加载Day6 hello world! 今天是python学习的第六天。 在下一篇文章中介绍基础语法。 主要是元组和词典的深入学习等。 1.1元组1.1元组是不可变列表元素,可以是任何类型的数据。
tuple1=(10,' abc ',[ 1,2 ] ) print ) tuple1)从列表中检索元素的方法适用于元组
tuple2=((杨幂)、()刘亦菲)、()赵丽颖)、() bhdbmh )、()孙俪) ) print ) tuple2[1] )1) for x in tuple2: print(x,x item )2)切片print ) tuple2[1:4:2] )3)列表相关操作为组print ) ),2,3 )3)3) print (1,2,3 )=300 ) 100 76 )打印(max (nums ) (print )打印(tuple ) ABC ) (print ) len ) nums ) (print ) sorted ) nums ) (print ) max (nux ) nux ) nume 1 ) print(nums.count(10 ) ) print (nums.index ) 32 ) 1.2元组特有的一些方法和功能1 )只有一个元素的元组: )中唯一元素之后是逗号ling print(type(tuple1) ) tuple1=(100,) print (type ) tuple1) )2)直接用逗号分隔多个数据也可以表示元组(元组的括号不明确300print(type ) tuple3)3)取得要素时,通过使变量的个数和元组内的要素的个数一致,可以单独取得元组内的各要素的值。 point=(100,200 ) x,y=pointprint(x ) x,y ) point=100,200,300 x,y,s=pointprint(x,y,s ) a,b,s
stu=()安静的香烟)、30、)男人)、89、78、56、100 ) name、age、gender、*scores=stuprint ) name、age、gender、scores
2 .词典问题:列表中同时保存多个语义不同的数据时,代码可读性较低
stu=[ '安静的香烟',20,'男人',' 15300022703 ',' 13767586542 ',56,170,89 ]解决方案:用字典保存多种含义不同的数据
stu={'name': '安静的香烟',' age':20,' sex': '男人',' tel':'15300022703 ',' m-tel ' 3: 其中,元素必须是键-值对。)
{键1 :值1,键2 :值2,键3 :值3, }
词典是可变的(支持增删); 无序(不支持下标操作)
词典要素:键是不变的、唯一的; 值可以是任何类型的数据,也可以重复
print((a ) :10,b ) :20 )=) b65:20,a653:10 ) dict1=) 10:100,ABC ) 3360200,) ABC ) 336010键定义用于存储狗信息(包括名称、品种、颜色和年龄)的词典。
dog={ '名称' : '咪咪','品种' : '西伯利亚雪橇犬','颜色' : '黑白相间','年龄' 3360'3'}print(dog ) (颜色) 2。
a .词典【key】-获取与词典中指定的key相对应的值(key不存在会出错) ) ) ) ) )。
b .字典. get(key ) -获取与字典中指定的key对应的值)如果key不存在,则不报告错误,返回none ) )。
c .字典. get(key,默认) -获取与字典中指定的key相对应的值)如果key不存在,则不报告错误
返回默认值) movie1 = { 'name':'战狼', 'director':'吴京', 'actor':'吴京', 'release_time':'2015', 'kind':'动作/战争/军事'}print(movie1['name'])print(movie1['kind'])movie2 = { 'name':'沉默的羔羊', 'director':'从容的自行车', 'actor':'朱迪·福斯特、zxdch、跳跃的石头', 'release_time':'1991', 'kind':'犯罪/惊悚'}print(movie2.get('kind'))# key不存在时不会报错print(movie2.get('release_time','2020-01-01'))print(movie2.get('score',1)) 遍历字典
方法一:(推荐使用)
for 变量 in 字典: # 变量取到的是key
循环体(变量在循环体中得到的是字典的key)
方法二:
for key,value in 字典.items()
循环体(循环体中变量1取到的所有的键,变量2取到的是所有键对应的值)
a. 字典【key】 = 值 - 当key不存在就是添加键值对;当key存在的时候就是修改key的值。
subject = { 'name':'python', 'score':3, 'class_hour':20, 'direction':['数据分析','web后端','爬虫','自动测试','自动化运维']}subject['teacher'] = 'brdyx'print(subject) 3) 删 del 字典【key】 - 删除字典指定key对应的键值对
字典.pop(key) - 取出字典中指定key对应的值
练习:
1) 定义一个变量同时保存多条狗的信息,每条狗有:名字、年龄、性别、品种、价格和颜色。
2) 统计5条狗中公的有多少条
3) 打印所有价格超过2000元狗的名字
判断是否相等
print({'a':10,'b':20} == {'b':20,'a':10}) ###### 2) is - 判断数据的地址是否相等 a = {'a':10}b = {'a':10}print(id(a),id(b))print(a == b)print(a is b) 3) in 和 not in key in 字典 - 判断字典中是否有指定的key
dict1 = {'a':10,'b':20,'c':30}print(10 in dict1)print('b' in dict1) 4) 相关的函数:len、dict len(字典) - 获取字典中键值对的个数
print(len(dict1)) dict(数据) - 将其他的数据转换成字典(数据的要求:1.序列,2.序列中的元素还是序列,3.内部的序列有且只有两个元素,第一个元素不可变)
list1 = ['ab',(10,20),['name','lldlb']]print(dict(list1)) 5) 把字典转换成其他数据 stu = {'name':'文静的香烟','age':18,'score':100} a. 将字典转换成列表/元组 - 将字典的key作为列表/元组的元素
print(list(stu))print(tuple(stu)) b. 将字典转换成字符串
print(str(stu)) c. 将字典转换成布尔
print(bool({}))print(bool(stu)) 6) 相关的方法 stu = {'name':'文静的香烟','age':18,'score':100} a. 字典.clear()
b. 字典.copy() # 可以赋一个新的地址。
c. dict.fromkeys(序列,默认值 = none) - 创建一个新的字典,序列中所有的元素会作为新字典的key,默认值是所有key对应的值。
d. 字典.items()、字典.keys()、字典.values()
print(stu.items())print(stu.keys())print(stu.values()) e. 字典.setdefault(key,value) - 在字典中添加键值对(单纯的添加,不会修改)
stu.setdefault('weight',70)print(stu) f. 字典1.update(字典2) - 将字典2当中所有的键值对全部添加到字典1中。
stu.update({'a':10,'b':20})print(stu)