元组,字典,集合,布尔值

一:元组类型:
定义:元组是不可变的列表,有序,存多个值
定义方式:在()中用逗号将不同的任意类型的元素分隔开就叫元组,如果元组中只有一个元素,后面必须加逗号。
数据类型转换:s='hello'
print(tuple(s))=('h','e','l','l','o')
3、常用操作+内置的方法
3.1 优先掌握的操作:
1、按索引取值(正向取+反向取):只能取
t=('a','b','c')
t[0]='A'#False
2、切片(顾头不顾尾,步长)
t=('a','b','c')
print(t[0:2])
3、长度
print(len(t))
4、成员运算in和not in
t=('a','b','c',(1,2,3))
print((1,2,3) in t)
5、循环
t=('a','b','c',(1,2,3))
for item in t:
print(item)
3.2 需要掌握的操作
t=('a','b','b','c',(1,2,3))
print(t.count('b'))
print(t.index('b',2,4))
二:字典类型:
1、用途:记录多个不同属性的值.可变,无序,存多个值
2、定义方式:在{}内用逗号分隔开多个元素,每一个元素都是key:value的形式.
value可以是任意类型,而key必须是不可变的类型(通常应该是str类型)
数据类型转换dic=dict(.....)
3.优先掌握的操作:
1.按key取值,可存可取
dic={'name':'egon','age':18,'sex':'male'}
print(dic['name'])
dic['name']='EGON'
dic['height']=1.81#如果字典中有就改变值,没有就增加key&value
2、长度len
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
print(len(dic))=3 #字典的长度计算只计算key值
3、成员运算in和not in # 判断的是字典的key
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
print('name' in dic)=Ture
4、删除:字典的删除是选择key会将与key对应的value一起删除
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
del dic['name']
print(dic) del删除没有返回值

popitem删除后有返回值 返回的是以元组形式保存的('key','value')
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
t=dic.popitem()
print(t,type(t))= ('gender','male')(class 'tuple')

pop删除有返回值,返回的是value
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
v=dic.pop('name')
print(v)
5、键keys(),值values(),键值对items()在py3中,不会生成列表。比喻成下蛋的母鸡,肚子里有蛋,要一个下一个。py2会生成列表
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
key=dic.keys()
vals=dic.values()
i=dic.items()
print(key,vals,i)
dict_keys(['name', 'age', 'gender'])
dict_values(['egon', 18, 'male'])
dict_items([('name', 'egon'), ('age', 18), ('gender', 'male')])
6、循环:
dic = {'name': 'egon', 'age': 18, 'gender': 'male'}
for k in dic:
print(k):name 循环取出字典会取出字典的key
age
gender
dic = {'name': 'egon', 'age': 18, 'gender': 'male'}
for k in dic.values():
print(k):egon 使用values形式能取出来dic的value
18
male
dic = {'name': 'egon', 'age': 18, 'gender': 'male'}
for k in dic.items():
print(k):('name', 'egon') 使用items形式取出的就是元组格式的dic的item,
('age', 18)
('gender', 'male')
7. get取值:get取值使用key,如果有,则取出value,否则为空,不会报错.
dic={'name': 'egon', 'age': 18, 'gender': 'male'}
v=dic.get('xxx')
print(v)=None
4.需要掌握的操作:
4.1dic.fromkeys() 将一个全是key的列表放入一个空字典当key,使用None或者别的数据当value,要使用时再改动.
li=['name','age','gender']
dic={}
dic={}.fromkeys(li,None)
print(dic)
4.2dic.update() 更新字典,将旧字典中与新字典一样key的值覆盖掉,没有的则将key&value加进去
old_dic={'name': 'egon', 'age': 18, 'gender': 'male'}
new_dic={'x':1,'name':'EGON'}
old_dic.update(new_dic)
print(old_dic):{'name': 'EGON', 'age': 18, 'gender': 'male', 'x': 1}
4.3dic.setdefault(key,value):执行完毕后是为了保证字典中必须有这么一个k,如果没有就增加进去,返回增加的value。如果有就返回字典中的值
old_dic={'name': 'egon', 'age': 18, 'gender': 'male'}
old_dic.setdefault('height',2)
print(old_dic)={'name': 'egon', 'age': 18, 'gender': 'male', 'height': 2}
print(old_dic.setdefault('height',2))=2

三:集合类型:
1、用途:
1.1:做关系运算
1.2: 去重
2、定义方式:在{}内用逗号分隔开多个元素,多个元素必须满足以下条件:
2.1 每一个元素必须是不可变类型
2.2 集合内元素不能重复
2.3 集合无序
2.4 d{}默认为字典 s=set{}才是集合
3、常用操作+内置的方法
1、长度len (pythons.intersection(linuxs))
pythons={'李铁蛋','张全蛋','王铜蛋','赵银蛋','oldboy','艾利克斯'}
print(len(pythons))=6
2、成员运算in和not in
pythons={'李铁蛋','张全蛋','王铜蛋','赵银蛋','oldboy','艾利克斯'}
print('李铁蛋' in pythons)=Ture
3、|合集并集 (pythons.union(linuxs))
pythons={'李铁蛋','张全蛋','王铜蛋','赵银蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王铜蛋'}
print(pythons | linuxs)={'赵银蛋', 'kevin', '李铁蛋', '艾利克斯', '王铜蛋', '张全蛋', 'tank', 'egon', 'oldboy'}
4、&交集 (pythons.intersection(linuxs))
pythons={'李铁蛋','张全蛋','王铜蛋','赵银蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王铜蛋'}
print(pythons & linuxs)={'王铜蛋', '艾利克斯'}
5、-差集(pythons.difference(linuxs))
pythons={'李铁蛋','张全蛋','王铜蛋','赵银蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王铜蛋'}
print(pythons - linuxs)={'赵银蛋', 'oldboy', '李铁蛋', '张全蛋'}
6、^对称差集(pythons.symmetric_difference(linuxs))
pythons={'李铁蛋','张全蛋','王铜蛋','赵银蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王铜蛋'}
print(pythons ^ linuxs)={'oldboy', '赵银蛋', 'tank', '张全蛋', 'kevin', '李铁蛋', 'egon'}
7、==
pythons={'李铁蛋','张全蛋','王铜蛋','赵银蛋','oldboy','艾利克斯'}
linuxs={'kevin','egon','tank','艾利克斯','王铜蛋'}
print(pythons == linuxs)=False
8、父集:>,>=(issuperset)
li={'qqq','www','eee'}
lr={'qqq','www'}
print(li >= lr)=Ture
9、子集:<,<=(issubset)
li={'qqq','www','eee'}
lr={'qqq','www'}
print(li <= lr)=False
四:布尔类型:
在条件判断中所有的数据都会转换布尔值
只需记住布尔值为假的数据类型即可:0,None,空
posted @ 2019-01-04 15:51  XSHUshu  阅读(251)  评论(0编辑  收藏  举报