1、元组
元组特点
元组是不可变的两个元组可以做加法,不能做减法元组的方法
>>> S
('a', 'b', 'c', 'd', 'e')>>> S=('a','b','c','d','e','c','f').count(x)统计某个元素在元组中出现的次数>>> S.count('c')2>>> S.count('a')1.index(x)从列表中找到某个值第一个匹配项的索引位置>>> S.index('a')0>>> S.index('c')2>>> 如果要修改元组就直接用list把元组变成列表>>> a=(1,2,3,4)>>> a(1, 2, 3, 4)>>> a=list(a)>>> a[1, 2, 3, 4]>>>同理要将list变成元组只需要用tuple即可>>> a=tuple(a)>>> a(1, 2, 3, 4)>>>2、集合
特点
集合是无序的,并且元素不重复,集合是可变对象
>>> S={1,2,3,4,4,5,5,56,6,6}>>> S{1, 2, 3, 4, 5, 6, 56}>>>不能用a={}来创建集合
创建集合的方法用set函数创建空集合>>> b=set()>>> bset()>>> type(b)<class 'set'>>>>集合的属性及方法s.add()添加单个元素>>> a{1, 2, 3, 4}>>> a.add(10)>>> a{1, 2, 3, 4, 10}>>> s.update()添加多个元素>>> b{3, 4, 5, 6}>>> b.update((11,22,33,44,55)) #注意update中要用元组>>> b{33, 3, 4, 5, 6, 11, 44, 22, 55}>>> s.remove()移除元素>>> a{1, 2, 3, 4, 10}>>> a.remove(10)>>> a{1, 2, 3, 4}>>> s.clear()清空集合>>> b{33, 3, 4, 5, 6, 11, 44, 22, 55}>>> b.clear()>>> bset()>>> 集合运算交集
>>> a={1,2,3,4}
>>> b={3,4,5,6}>>> a & b{3, 4}并集
>>> a | b{1, 2, 3, 4, 5, 6}>>> a - b{1, 2}>>>差集
>>> b -a{5, 6}>>>3、字典
字典的创建:{key:value}>>> F={'a':1,'b':2}>>> F{'a': 1, 'b': 2}>>> 或者dict(a=1,b=2)用dict()创建字典,键如果是字符串,则可以不用加引号>>> D=dict(a=1,b=2)>>> D{'a': 1, 'b': 2}>>> 特点:1、字典中的元素是无序的2、不允许同一个键出现两次,即键必须唯一,如果出现两次则最后一次为准3、键必须不可变,所以可以用数字,字符串或元组充当,而列表就不行,列表时可变的字典添加和修改新值对应的键名如果存在,就是修改操作,否则就是添加操作>>> person=dict(a=1,b=2)>>> person{'a': 1, 'b': 2}>>> person['a']1>>> person['a']=100>>> person['c']=19>>> person{'a': 100, 'b': 2, 'c': 19}>>>in not in 判断键是否在字典中存在,在返回true,否则返回false
字典的属性及方法>>> person{'a': 100, 'b': 2, 'c': 19}.update({})在字典中添加多个项>>> person{'b': 2, 'c': 19}>>> >>> person.update({'n':111,'m':222,'h':333})>>> person{'b': 2, 'c': 19, 'n': 111, 'm': 222, 'h': 333}>>> .items()返回字典的各个项>>> person.items()dict_items([('a', 100), ('b', 2), ('c', 19)]).keys()返回字典的键>>> person.keys()dict_keys(['a', 'b', 'c']).values()返回字典的值>>> person.values()dict_values([100, 2, 19])>>> .get(k)如果k存在,则返回k值,否则返回None>>> person.get('k')>>> print(person.get('k'))None.get(k,x)如果键k在,返回键k的值,不存在则返回x>>> print(person.get('k','x'))x>>>.pop(k)返回并移除键k所对应的元素,不存在职责抛出异常>>> person{'a': 100, 'b': 2, 'c': 19}>>> >>> person.pop('k')Traceback (most recent call last): File "<pyshell#92>", line 1, in <module> person.pop('k')KeyError: 'k'>>>>>> person.pop('a')100>>> person{'b': 2, 'c': 19}>>> .pop(k,x)返回并移除键k所对应的元素,不存在则返回x>>> person{'a': 100, 'b': 2, 'c': 19}>>> person.pop('k','x')'x'>>>>>> person.pop('a','n')100>>> person{'b': 2, 'c': 19}>>>字典的键对应的值如果是整型或者字符串,那么可以直接做加法运算(加要加同样的类型)
>>> person
{'b': 2, 'c': 19, 'n': 111, 'm': 222, 'h': 333}>>> person['b'] +=10>>> person['b']12>>>>>> person['e']='abcd'
>>> person{'b': 12, 'c': 19, 'n': 111, 'm': 222, 'h': 333, 'e': 'abcd'}>>> person['e'] += 'cool'>>>>>> person['e']'abcdcool'>>>4、常用运算符
算术运算符:+,-,*,/,%,**,//
赋值运算符:=,+=,-=,*=,/=,%= **=比较运算符:==,!=,>,<.>=,<=成员运算符:in,not in身份运算符:is,is not判断两个名字是否指向同一个对象,当id相同是返回True(==比较运算符)逻辑运算符:and,or,notand(与)两个条件都满足则成立返回Trueor(或)有一个条件满足则成立返回Truenot(非)取反例子练习
一、已知字典ainfo = {'name':'lily','age':20}
1.加入两项使得输出的结果: ainfo = {'name':'lily','age':20,'gender':'female','class':10}>>> ainfo.update({'gender':'female','class':10})>>> ainfo{'name': 'lily', 'age': 20, 'gender': 'female', 'class': 10}>>>2.访问字典中的所有项,访问字典的键,访问字典中的值>>> ainfo.items()dict_items([('name', 'lily'), ('age', 20), ('gender', 'female'), ('class', 10)])>>> ainfo.keys()dict_keys(['name', 'age', 'gender', 'class'])>>> ainfo.values()dict_values(['lily', 20, 'female', 10])>>> 二、将这三项内容创建字典,按下面规则添加到同一个对象中:(name = 'lily',age= 20,gender = 'female',class = 10)(name ='jack',age= 25,gender ='male',class =10)(name ='jane',age= 19,gender ='female',class =10)>>> d1={'name':'lily','age':20,'gender':'female','class':10}
>>> d1{'name': 'lily', 'age': 20, 'gender': 'female', 'class': 10}>>> d2=dict(name='jack',age=25,gender='male',Class=10) #--->该方法会把键转换成字符串>>> d2{'name': 'jack', 'age': 25, 'gender': 'male', 'Class': 10} >>> d3=dict(name='jane',age=19,gender='female',Class=10)>>> d3{'name': 'jane', 'age': 19, 'gender': 'female', 'Class': 10}>>> 1.将这三项内容创建的三个字典放到一个列表里。[{},{}]>>> List=[d1,d2,d3]>>> List[{'name': 'lily', 'age': 20, 'gender': 'female', 'class': 10}, {'name': 'jack', 'age': 25, 'gender': 'male', 'Class': 10}, {'name': 'jane', 'age': 19, 'gender': 'female', 'Class': 10}]>>> 2.将这三项内容创建的三个字典放到一个字典里,要求字典以个人姓名为键,其他信息组成的字典为姓名这个键所对应的值。(字典里面嵌套字典){'lily':{},'jack':{}}例如info = {'lily':{'age':20,'gender':'female','Class':10}}>>> ainfo[d1.pop('name')]=d1>>> ainfo{'lily': {'age': 20, 'gender': 'female', 'class': 10}}>>> >>> ainfo[d2.pop('name')]=d2>>> ainfo{'lily': {'age': 20, 'gender': 'female', 'class': 10}, 'jack': {'age': 25, 'gender': 'male', 'Class': 10}}>>> >>> ainfo[d3.pop('name')]=d3>>> ainfo{'lily': {'age': 20, 'gender': 'female', 'class': 10}, 'jack': {'age': 25, 'gender': 'male', 'Class': 10}, 'jane': {'age': 19, 'gender': 'female', 'Class': 10}}>>>d1.pop('name')取值之后返回name对应的值,剩下的d1就是去掉'name';'lily'之后的部分