第四节课 集合、字典、运算符

一、集合
  1、集合的特性
    无序性:内部的元素是无序排列的
    唯一性:内部的元素都是唯一的,相同的元素会去重
  2、集合的创建

se={1,2,3,4,5}
se=set([1,2,3,4,5]) #放入可迭代对象

se=set() #创建一个空集合
输出均为:
{1,2,3,4,5}

  3、集合的运算
    并集:|  交集:&  差集:-  与非集:^

se1={1,2,3};se2={2,3,4}
se1|se2={1,2,3,4} #并集:就是加一起去重
se1&se2={2,3}      #交集:两者重复部分
se1-se2={1}          #差集:se1中se2没有的部分
se1^se2={1,4}      #与非集:两者补充度的部分,与交集相反

  4、集合的操作方法

se.add() #添加单个元素
se.update() #添加多个元素,徐仿佛可迭代对象
se.remove() #指定移除某个元素
se.pop() #随机抛出某个元素

二、字典(唯一的映射类型)
  1、字典的特点
  键是惟一的,重复键会被重新复制(定义)
  无序性
  2、字典的创建

di={'a':123,'b':456,'c':789} #内部元素只要满足键值对形式即可
di=dict(a=123,b=456,c=789)#键的定义需符合变量命名规则

  3、字典的取值和修改

di={'a':123,'b':456,'c':789}
di['a'] #取值是输入键即可
di['a']=321 #可以覆盖定义,也就是修改

  4、字典的操作方法

di.fromkeys(['d','e'],111)#用给定的键创建一个新的字典,每个键默认值为None(可自定义,如111)
di.copy() #复制一个字典
di.clear() #清空一个字典

di={'a':123,'b':456,'c':789}
di.get('f','我不在') #取出键'f'的值,若存在就返回对应的值,否则返回默认值None(可自定义,如 我不在)

di.items() #查看所有的项
di.keys()   #查看所有的键
di.values() #查看所有的值
若要查询其中的某一项(键,值),需要将字典转化为列表,然后通过索引查询,查询值方法也可用get,后面还有pop、setdefault等
li=list(di.items())

di.pop('d','我不在') #指定键抛出键值对,若不存在,可返回字符自定义(必须自定义)
di.pop() #随机删除某一键值对(项)

di.setdefault('e',222) #类似get,取键'e',若存在则返回其对于的值,否则就更新到字典,对于值得默认值为None(可自定义,如222)

di2={'a':333,'d':444}
di.update(di2) #将字典di2的内容添加、更新和覆盖到原字典di
输出:{'a':333,'b':456,'c':789,'d':444}

三、运算符

**                                                      #幂运算
+ - * / %                                            #算术运算符:加 减 乘 除 取余
< > <= >=                                         #比较运算符:小于 大于 小于等于 大于等于
==     !=                                            #比较运算符:等于 不等于
= %= /= -= += *= **=                      #赋值运算符:等于 取余等于 除等于 减等于 加等于 乘等于 幂等于
is is not                                             #身份运算符:是 不是
in not in                                            #成员运算符:在里面 不在里面
not > and > or                                  #逻辑运算符

and(与)        #  两个条件都满足返回True
or(或)          #   一个条件满足就返回True
not(非)        #   取反

举个栗子:
a=1;b=2
a==1 and not b==3 #根据逻辑运算符,not优先级比and高
输出:True

四、作业

  1、有两个列表 x = [1,2,3,'a','b','c'] y = ['a','b','c'] 找出x列表中在y 中也有的元素

z=set(x)&set(y)
输出:{'a','b','c'}

  2、新建一个字典,用3种方法往字典里面插入值;用 4 种方法取出values,用2种方法取出key

插入:
di={'a':1,'b':2,'c':3}
di['d']=4
di.setdefault('e',5)
di2=dict(f=6);di.update(di2)

取键:
li3=list(di.keys());f=li3[0]
e=li1[0][0]
x=di.popitem();x[0]

取值:
di['a']               
di.pop('a')           
x=di.popitem();x[1]
di.get('a')
di.setdefault('b')
li1=list(di.items());c=li1[0][1]
li2=list(di.values());d=li2[1]

  3、定义我们学过的每种数据类型,并且注明,哪些是可变,哪些是不可变的

a=1    #int type(a)
b=1.2  #float
c=True #bool
d=1+2j #复数型

关键字的查询方法:
方法一:import keyword
           keyword.kwlist
方法二:help('keywords')

s='abc'  #str  s="abc" s='''abc'''  三种定义方法
li.[1,2] #list
tu=(1,2) #tuple  tu=1,2

se={1,2} #set
di={'x':1,'y':2} #dict

list和dict可变,其余都不可变,通过查看id是否可变复数型

猜你喜欢

转载自www.cnblogs.com/sysun110/p/11267570.html
今日推荐