1.集合

2.字典

3.运算符优先级

1.集合

创建:() set()     注意:创建空的集合要用set()
特点:元素唯一,无序
运算: &(交集)   |(并集)   -(差集)
方法:
s.add(x)    #添加单个元素
s.update()  #添加多个元素
s.remove()  #移除元素
s.clear()   #清空集合#集合创建>>> se = {1,2,3}>>> print(type(se))<class 'set'>>>> se = {1,2,2,3}          #去重,唯一>>> print(se){1, 2, 3}>>> se = {1,'a',2,'b'}      #无序>>> se{1, 2, 'a', 'b'}
#可hash的能放入集合>>> hash([1,2])Traceback (most recent call last):File "<pyshell#24>", line 1, in <module>hash([1,2])TypeError: unhashable type: 'list'>>> hash((a,2))Traceback (most recent call last):File "<pyshell#25>", line 1, in <module>hash((a,2))NameError: name 'a' is not defined>>> hash((1,2))1299869600>>> hash('qwe')-917773703>>> aTraceback (most recent call last):File "<pyshell#28>", line 1, in <module>aNameError: name 'a' is not defined>>> a='I love python'>>> a'I love python'>>> hash(a)-2061797837>>>
#定义空集合(工厂模式定义集合)>>> se = set()>>> print(type(se))<class 'set'>
#集合的运算#属于>>> a{1, 2, 3, 4, 'a'}>>> 'a' in aTrue>>> 'b' not in aTrue#延伸>>> se={1,2,3,4}>>> se2={3,4,5,6}>>> se < se2    #包含False>>> se <= se2   #包含False>>> se != se2   #不等于True#并集(两个集合相加并去重)>>> se1={1,2,3};se2={2,3,4}>>> se1|se2{1, 2, 3, 4}#交集(取两个集合重复的元素)>>> se1&se2{2, 3}#差集(前面的集合减去后面的集合元素重复的部分)>>> se1-se2{1}>>> se2-se1{4}#与非集(取各自集合独立的部分)>>> se1^se2{1, 4}
#集合的基本方法查看集合的方法:>>> dir(se)
['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']#添加单个元素(添加单个元素)>>> se={1,2}>>> se.add(3)>>> print(se){1, 2, 3}#添加多个元素(添加多个元素(可迭代的对象))>>> se.update('4')>>> print(se){1, 2, 3, '4'}>>> se.update('456')>>> print(se){1, 2, 3, '6', '4', '5'}#移除元素(指定移除)>>> se.remove('5')>>> print(se){1, 2, 3, '6', '4'}#随机移除>>> se.pop()1#清空集合>>> se.clear()>>> print(se)set()

2.字典

注:是python中唯一的一个映射类型
创建:{key:value}      #大括号创建字典的键时要加引号
dict{key=value}     #括号里赋值方式,名字=对象,不要引号
字典里的键和值用‘:’隔开,一对键和值组成一个项,项和项之间用‘,’隔开
特点:
键唯一,重复会被重新赋值
无序
key必须遵循python命名规则添加和取值cidt[key]=value     #key存在则修改该值,没有则添加
属性方法:
.update({})     #在字典中添加多个项
.items()        #返回字典的各个项
.keys()         #返回字典的键
.values()       #返回字典的值
.get(k)         #如果键k在,返回k的值,不存在则返回None
.get(k,x)       #如果键k在,返回键k的值,不存在则返回x
.pop(k)         #返回并移除键k所对应的元素,不存在则抛出异常
.pop(k,x)       #返回并移除键k所对应的元素,不存在则返回x总结:key唯一,故可以是数字,字符串,元祖总结:可变对象: list set dict不可变对象: str tuple#字典 唯一的映射类型,遵循hash,必须是不可变的对象
#定义字典>>> di={'w':123,'l':456,'x':789}    >>> print(type(di))<class 'dict'>>>> di=dict(_i=123)>>> di{'_i': 123}>>> print(type(di))<class 'dict'>>>> di={1:123,2:234}>>> print(type(di))<class 'dict'>>>> di1={'e':[123,456]}>>> type(di1)<class 'dict'>>>> di2={'e':(123,456)}>>> di3={'e':'123'}>>> type(di3)<class 'dict'>
#定义空字典>>> di1=dict()          >>> print(type(di1))<class 'dict'>#字典取值(利用键取值)>>> di[1]123>>> di[2]234#字典修改>>> di[1]='qwe'>>> di{1: 'qwe', 2: 234}#添加key:value(在修改key值得时候,key存在即修改否则添加)>>> di[3]=890>>> di{1: 'qwe', 2: 234, 3: 890}>>> di={'q':1,'w':2,('q','w'):122}>>> di{'q': 1, 'w': 2, ('q', 'w'): 122}#清空字典>>> di.clear()>>> print(di){}#查看字典的属性方法>>> dir(di)['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']#fromkeys#用给定的键建立新的字典,每个键默认为None(批量生产新的字典)>>> di.fromkeys({'a','b','c'}){'b': None, 'c': None, 'a': None}
#用给定的键建立新的字典,每个键自定义为123>>> di.fromkeys({'a','b','c'},123){'b': 123, 'c': 123, 'a': 123}
>>> help(di.fromkeys)
Help on built-in function fromkeys:
fromkeys(iterable, value=None, /) method of builtins.type instanceReturns a new dict with keys from iterable and values equal to value.
#字典取值;值存在,则返回值,不存在默认返回None,也可自定义>>> di{'w': 123, 'e': 456, 'r': 789}>>> di.get('w')123>>> di.get('q')     >>> di{'w': 123, 'e': 456, 'r': 789}>>> di.get('q','我不存在')'我不存在'
#items,在列表中以元组的形式显示字典的每一项>>> di.items()dict_items([('w', 123), ('e', 456), ('r', 789)])>>> list(di.items())    #查看字典的每一项[('w', 123), ('e', 456), ('r', 789)]
#以列表的形式查看字典的所有键>>> di.keys()dict_keys(['w', 'e', 'r'])
#以列表的形式查看字典的所有值>>> di.values()dict_values([123, 456, 789])
#pop,指定键,删除对应的值。如果键不存在,可以自定义返回值>>> help(di.pop)Help on built-in function pop:pop(...) method of builtins.dict instanceD.pop(k[,d]) -> v, remove specified key and return the corresponding value.If key is not found, d is returned if given, otherwise KeyError is raised>>> di{'w': 123, 'e': 456, 'r': 789}>>> di.pop('e')456>>> di{'w': 123, 'r': 789}>>> di.pop('w','r')123>>> di{'r': 789}>>> di.pop('q','我不存在')'我不存在'
#popitem, 随机删除字典某一项(不需要对象)>>> di{'r': 789, 'w': 123}>>> di{'r': 789, 'w': 123}>>> di.popitem()('w', 123)>>> di{'r': 789}
#类似get,存在返回值,不存在就更新到字典,对应的值默认为None,也可自定义>>> di.setdefault('r')789>>> di.setdefault('w',123)123>>> di{'r': 789, 'w': 123}>>> di.setdefault('q')>>> di{'r': 789, 'w': 123, 'q': None
#将一个字典内容添加并更新覆盖到原来的字典>>> di{'r': 789, 'w': 123, 'q': None}>>> di1={'p':234,'q':123}>>> di.update(di1)>>> di{'p': 234, 'r': 789, 'w': 123, 'q': 123}    >>> di={'x':[123,456]}>>> di{'x': [123, 456]}>>> di['w']=123>>> di{'x': [123, 456], 'w': 123}

3.运算符

算数运算符: +,-,*,/,%,**,//赋值运算符: = += -= *= /= %= **=比较运算符: ==  !=  >  <  >=  <=成员运算符: in , not in身份运算符: is  , is not判断两个名字是否指向同一个对象,当id相同时返回True(==比较运算时判断的值)逻辑运算符: and  or  notand(与)  两个条件都满足是才返回Trueor(或)   有一个条件满足了就返回Truenot(非)  取反计算顺序:默认,运算符优先级表决定了那个运算符在别的运算符之前计算。然而,如果你想改变它们的顺序,你得使用圆括号结合规律:运算符通常由左向右结合,及具有相同优先级的运算符按照从左向右的顺序计算**                          #幂运算= - * / %                   #算数运算符< > <= >=                   #比较运算符==  !=                      #比较运算符= %= /= -= += *= **=        #赋值运算符is  is not                  #身份运算符in  not in                  #成员运算符not  >  and  > or           #逻辑运算符>>> a=1;b=2
>>> a==b
False
>>> a!=b
True
>>> a is b
False
>>> a is not b
True
>>> a==1 and b==3
False
>>> a==1 or b==3
True
>>> not b==3
True
>>> a==1 and not b==3
True

转载于:https://blog.51cto.com/1054054/2082668

python基本数据类型(四)-集合与运算符-python3笔记相关推荐

  1. Python组合数据类型之集合类型

    单元概述 主要解决问题:让程序更好地处理一组数据 三类重要组合数据类型:集合类型.序列类型和字典类型 学完本章,我们能够在头脑中建立集合.序列和字典的模式来表达对一组数据的表达和处理 1. 定义 集合 ...

  2. 07 Python 组合数据类型(集合、序列、元组、列表)

    集合类型及操作 集合类型定义 集合是多个元素的 集合类型与数学中的集合概念一致 集合元素之间无序,每个元素唯一,不存在相同元素 集合元素不可更改,不能是可变数据类型 集合是多个元素的无序组合 集合用大 ...

  3. Python基本数据类型大集合

    由于是第一篇博客的缘故,所以小编先做一下自我介绍.本人初二,因为平日极爱吃糖,所以后面就自称糖糖咯.由于糖糖还是一个默默无闻的小菜鸟,所以开始只能写一些基础的东东,建议初学者使用哦☆ ̄(>.☆) ...

  4. Python学习日记(四) 集合和元祖

    元祖的特性:是一个只读列表.可以循环.可以切片,修改数据遵循'儿子'不能改但'孙子'可能可以改. iterable:可迭代对象(元祖.列表.字串.集合) 元祖宣告方式: tu = (1,2,3,['a ...

  5. python tuple类型,Python基础数据类型(四) tuple元祖

    元祖tuple(,) 元祖就是不可变的列表 元祖用()表示,元素与元素之间用逗号隔开,数据类型没有限制 tu = ('科比','詹姆斯','乔丹') tu = tuple('123') 小括号中 有一 ...

  6. python基础八:集合

    集合 一 字典的特性 二 集合的创建: 三 集合的增: 四 集合的删: 五 集合不能改: 六 集合的查: 七 求俩集合的交集: 八 求俩集合的并集: 九 求俩集合的反交集: 十 求一个集合独有的元素: ...

  7. python集合类型运算符_Python 数据类型和运算符

    算术运算符 算术运算 + 加 - 减 * 乘 / 除 % 取余(相除后的余数) ** 取幂(注意 ^ 并不执行该运算,你可能在其他语言中见过这种情形) // 相除后向下取整到最接近的整数 关于按位运算 ...

  8. Python的零基础超详细讲解(第四天)-Python的数据类型

    Python 基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型&q ...

  9. Python的数据类型(二):字符串类型、布尔类型、列表、元组、字典、集合

    文章目录 一.字符串类型 1.字符串的表示方式 2.字符串的下标和切片 3.字符串常见的内置函数 4.字符串的运算符 5.字符编码 6.字符串格式化 7.字符串format方法的使用 二.布尔类型 三 ...

最新文章

  1. matlab丢失icuuc54,icuuc56.dll下载|
  2. Android新技术学习——阿里巴巴免Root无侵入AOP框架Dexposed
  3. 对如何使用WaveDrom画波形图的研究(案例分解分析)
  4. 系统相关的信息模块: import sys
  5. delphi 16 网页缩放
  6. 阿里云加速构建技术平台,推动5G消息产业发展
  7. CF思维联系– Codeforces-988C Equal Sums (哈希)
  8. mysql 查找课程最高分_mysql 查询 学生id最高分的科目和日期
  9. 公众平台模板消息所在行业_第三方工具微信公众号模板消息群发如何操作?
  10. linux设备树例程,iTOP-iMX6-设备树内核-实时时钟RTC以及Linux-c测试例程
  11. linux firefox 脚本,linux下调整firefox的有用设置(高分辨率下需要)
  12. 1.13 编程基础之综合应用_14求满足条件的3位数 python
  13. Linux之fgrep命令
  14. 【答辩问题】计算机专业本科毕业设计答辩的一般程序
  15. Java Script小技巧【对象,属性】(转载)
  16. 小猿圈之Python开发的技巧一?
  17. 高德地图 热力图 清空地图
  18. 组成计算机cpu的两大部件是,组成计算机的cpu的两大部分是什么
  19. Java程序设计 试卷A
  20. Android中实现红绿灯动画,android红绿灯制作

热门文章

  1. ******中最常用的网络命令
  2. 1/5 MySQL入门总结:下载安装
  3. pandas - Series
  4. 实验 7:流类库与输入输出
  5. ios uitableview 去掉多余的空行
  6. 收集几个移动平台浏览器的User-Agent
  7. Angular报错-Error: ENOENT: no such file or directory, scandir '/Users/echo_hx/node_modules'
  8. 微信小程序 app.js 操作 页面js方法
  9. 基于elementui的input的二次封装(非常实用)
  10. MySQL卸载5.重新安装 8.0.20教程(windows 64位)