python学习第四天
今日内容
一、元祖类型及元祖的内置方法
二、字典类型及字典类型的内置方法
三、集合及内置的集合类型内置的方法
一 、元祖.
元祖类型与列表类型相同,都是可以存多个值,但是不相同的是元祖本身是不能被修改的
A、元祖的基本使用 tuple
1、用途:记录多个值,当多个值没有改变的需求是,使用元祖类型更合适。
2、定义的方式:元祖是用 ()小括号内用逗号隔开任意元素类型的值
元祖是不能被修改的
示例:
tuplevar =(1,2,3,4,5,6,) # tuplevar = tuple((1,2,3,4,5,6,)) print(tuplevar)
3、常用操作和内置的方法
a、优先掌握的操作
1、按索引取值(正向取+反向取):只能取
2、切片(顾头不顾尾,步长)
3、长度
4、成员运算in和not in
5、循环
1、按索引取值(正向取+反向取):只能取
t = ('yul', 'mx', 123, ['a','b'])
print(t[0]) # 索引元祖中元素的值
print(t[2]) # 索引元祖中元素的值
#是不可改变的
# t[2] = 'aaaa'
t[-1][0] = '1' # 可以改变的是里面的可变元素
print(t)
2、切片(顾头不顾尾,步长)
t = ('yul', 'mx', 123, ['a','b'])
print(t[0:2])
print(t)
3、长度 len
t = ('yul', 'mx', 123, ['a','b'])
print(len(t))
4、成员运算 in 和 not in 还是判断的语句
xin = ('asd','asdz','zxc',123)
print('zxc' in xin )
5、循环
xin = ('asd','asdz','zxc',123)
for i in xin:
print(i)
B、需要掌握的操作
1、count 计数
2、index 索引
1、count 计数
xin = ('asd','asdz','zxc','zxc','zxc',123,)
print(xin.count('zxc'))
2、index 索引
示例1:
t = (1, 2, 3, 4, 5,)
print(t.index('1',1))
示例2:
t=('a','b','c','a')
print(t.count('a'))
print(t.index('a',1,10))
print(t.index('xxx',1,10)) # 没有的值会报错
二、字典类型及字典类型的内置方法
字典 doct
字典的作用:能存储多组key.value键值对;key 是对value的描述性信息,所以key通常情况下是字符串,value可以是任何数据类型
key是不可变的信息
字典类型我们只能看到key 可以根据key来取value的值
字典类型中key的内容是不可以重复的
无序和可变
定义:
d = {2:'sb', 'sb':'dsb',} # d = dic({2:'sb', 'sb':'dsb',})
print(d,type(d),id(d))
print(d['sb'])
优先掌握的操作:
1、按key存取值:可存可取
d1 = {'name':'yl','pwd':'123'}
print(d1['name']) # 根据key取值
d1['name'] = '名字' # 根据key替换value的值
print(d1)
d1['age'] = 18 # 当赋值语句的key不存在的情况下,会自动新增一个键值对
print(d1)
2、长度 len
d1 = {'name':'yl','pwd':'123'}
print(len(d1)) # 统计key的个数
3、成员运算in和not in 对于字典来说只能判断key值
d1 = {'name':'yl','pwd':'123'}
print('123'in d1) # 是不能判断valeu的值的
print('name'in d1)
4、删除 del pop clear
d1 = {'name':'yl','pwd':'123'}
del d1['name']
print(d1)
2、pop示例:弹出仅仅是value 会返回删除的值,如果要弹出的key没有的情况下报错
d1 = {'name':'yl','pwd':'123'}
res = d1.pop('name')
print(res)
3、clear是清除
d1 = {'name':'yl','pwd':'123'}
d1.clear()
print(d1)
#5、键keys() ,值values(),键值对items()
dic={'name':'egon','age':18,}
# print(dic.keys())
for k in dic:
print(dic)
print(dic.values())
print(dic.items()) #
6.get()根据key获取value(重点)
dic={'name':'egon','age':18,}
print(dic['name'])
print(dic['pwd']) # 当没有key值时报错
print(dic.get('name','你需要的key有'))
print(dic.get('apd','你需要的key有')) # get可以传第二个参数。当你的key不存在的情况下,返回第二个你写好的参数信息
# 需要掌握的操作
# fromkeys() Python 字典 fromkeys() 函数用于创建一个新字典,以序列 l 中元素做字典的键,value 为字典所有键对应的初始值。
l=['name','age','sex']
# dic={'name':None,'age':None,'sex':None}
dic={}
# for k in l:
# dic[k]=None
# print(dic)
dic=dic.fromkeys(l,None)
print(dic)
update 更新
old_dic = {'name':'yul','age':18}
new_dic = {'name':'YUL','xb':'N'}
old_dic.update(new_dic)
print(old_dic)
setdefault:有则不动/返回原值,无则添加/返回新值
Python 字典 setdefault() 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
dic={'name':'egon','age':18}
res=dic.setdefault('name','EGON') # 字典中已经存在key则不修改,返回已经存在的key对应的value
print(dic)
print(res)
res=dic.setdefault('sex','male') # 字典不存在key则添加"sex":"male",返回新的value
print(dic)
print(res)
三、集合及内置的集合类型内置的方法
集合类型两大应用场景:关系运算和去重
针对群体之间做比较,不涉及单个元素
注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值
把两个列表上里面的重复元素拉出来
pythons = ['jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'] linux = ['frank', 'jerry', 'tank', 'egon', 'alex'] for name in pythons: if name in linux: print(name) '''
定义
集合:可以包含多个元素,用逗号分割,
集合的元素遵循三个原则:
1:每个元素必须是不可变类型
s = {1,2,3,4,5,6} # <class 'set'> # s = set()
print(type(s))
s1 = set()
print(type(s1)) # 注意在定义空集合的只能用关键字set
x = {} # <class 'dict'> 如果你仅仅只写了一个大括号 那么python默认将它当做字典类型
print(type(x))
自动将重复的元素 去除
s = {1,2,2,2,2,2,2,2,2,2,3,4,4,4,4,4,5}
print(s)
3:无序 以下操作会报错的
s = {1, 2, 3, 4, 5, 6}
print(s[1])
优先掌握的操作:
1、长度len
s = {1,2,3,4}
print(len(s))
2、成员运算in和not in
s = {1,2,3,4}
print(1 in s)
3、|合集
4、&交集
5、-差集
6、^对称差集
pythons = {'jason', 'nick', 'tank', 'egon', 'kevin', 'owen', 'alex'}
linux = {'frank', 'jerry', 'tank', 'egon', 'alex'}
# 既报名python也报名linux的学生姓名
print(pythons & linux) # 交集
# 只报名python的学生姓名
print(pythons - linux)
# 只报名linux的学生姓名
print(linux - pythons)
# 没有同时报名两门课程的学生姓名
print(pythons ^ linux) # 对称差集
# 取出所有报了名的学生姓名
print(pythons | linux)
浙公网安备 33010602011771号