返回顶部
首页 > 资讯 > 后端开发 > Python >python基本数据类型(四)-集合与运
  • 919
分享到

python基本数据类型(四)-集合与运

数据类型python 2023-01-31 08:01:34 919人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

1.集合 2.字典 3.运算符优先级 1.集合 创建:() set() 注意:创建空的集合要用set() 特点:元素唯一,无序 运算: &(交集) |(并集) -(差集) 方法: s.add(x) #添加单个元

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
    >>> a
    Traceback (most recent call last):
      File "<pyshell#28>", line 1, in <module>
        a
    NameError: 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 a
    True
    >>> 'b' not in a
    True
    #延伸
    >>> 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 instance
    Returns 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 instance
        D.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  not
        and(与)  两个条件都满足是才返回True
        or(或)   有一个条件满足了就返回True
        not(非)  取反

    计算顺序:默认,运算符优先级表决定了那个运算符在别的运算符之前计算。然而,如果你想改变它们的顺序,你得使用圆括号
    结合规律:运算符通常由左向右结合,及具有相同优先级的运算符按照从左向右的顺序计算
    **                          #幂运算
    = - * / %                   #算数运算符
    < > <= >=                   #比较运算符
    ==  !=                      #比较运算符
    = %= /= -= += *= **=        #赋值运算符
    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

--结束END--

本文标题: python基本数据类型(四)-集合与运

本文链接: https://lsjlt.com/news/192414.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python基本数据类型(四)-集合与运
    1.集合 2.字典 3.运算符优先级 1.集合 创建:() set() 注意:创建空的集合要用set() 特点:元素唯一,无序 运算: &(交集) |(并集) -(差集) 方法: s.add(x) #添加单个元...
    99+
    2023-01-31
    数据类型 python
  • Python基本数据类型(四)
    5、双向队列(deque)函数说明一个线程安全的双向队列,可进可出,可以从两端添加和删除元素;class deque(object):     """     deque([iterable[, maxlen]]) --> deque...
    99+
    2023-01-31
    数据类型 Python
  • 【Python3】基本数据类型-集合(
    集合,不可重复的列表,可变类型 difference s1中存在,s2中不存在 s1 = {'xmzncc','fcc'} s2 = {'alex','wusir'} v = s1.difference(s2) print(v) s2中存...
    99+
    2023-01-31
    数据类型
  • Python基本数据类型的集合是什么
    这期内容当中小编将会给大家带来有关Python基本数据类型的集合是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。集合作为Python基本数据类型之一,相较于整型和字符串等类型来说难度要高很多,我们需要...
    99+
    2023-06-02
  • 【Python】数据类型之集合与函数
    知识目录 一、集合简介1.1 集合的定义1.2 实例 二、集合的基本操作三、函数3.1 函数的定义3.2 函数的调用3.3 全局变量和局部变量 一、集合简介 1.1 集合的...
    99+
    2023-09-01
    python 开发语言
  • Python基本数据类型--列表、元组、字典、集合
    一、Python基本数据类型--列表(List)  1、定义:[ ]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素。  2、列表的创建:   # 方式一list1 = ['name...
    99+
    2023-06-02
  • Python安装与基本数据类型
     人生苦短,我选Python。 Python比其他的语言来说真的简洁多了,很多时候想做的东西都有对应的模块可以导入,平时玩点小东西真心不错。 首先讲一下安装,其实没什么好讲的,点点点点点,完事。 这里的Add Python 3.7 to ...
    99+
    2023-01-31
    数据类型 Python
  • Python 数据类型--集合set
    目录一、定义二、操作三、运算一、定义 集合中的元素是无序的、唯一的、不可变的类型。集合是一个特殊的列表,可以对数据去重。 lists = [1,3,5,7,3,4,6,2,7,9] ...
    99+
    2024-04-02
  • Python基本数据类型
    Numbers (数字) 1、数字数据类型用于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。 2、Python支持四种不同的数字类型: int(有符号整型) long(长整型[也可以代表八进制和十六进制...
    99+
    2023-01-31
    数据类型 Python
  • 数据类型(集合)
    集合特点: 数据不重复  无序创建集合有两种方法 第一种: s = {1,2,3,4} 第二种: s = set(['1','2','3','4'])添加数据 l.add('5') # 添加单个数据 ...
    99+
    2023-01-30
    数据类型
  • python3第四天(基本数据类型扩展)
    数字Number数字数据类型用于存储数值,数据类型是不允许改变的,因此要改变数字数据类型的值时,会被重新分配空间.因为变量是直接使用,所以可直接输入变量名.也可同时赋值.如,var1=10;删除变量用del 变量名1,变量名2...pyth...
    99+
    2023-01-31
    数据类型 第四天
  • Python 基本数据类型 (二) -
      str.expandtabs([tabsize]): str类型的expandtabs函数,有一个可选参数tabsize(制表符大小)详细来说,expandtabs的意思就是,将字符串中的制表符\t,全部用空格来替换。至于用多少个空...
    99+
    2023-01-30
    数据类型 Python
  • Python--4 基本数据类型
      4.1 字符串   字符串str是在Python编写程序过程中,最常见的一种基本数据类型。字符串是许多单个子串组成的序列,其主要是用来表示文本。字符串是不可变数据类型,也就是说你要改变原字符串内的元素,只能是新建另一个字符串。   ...
    99+
    2023-01-30
    数据类型 Python
  • Python基本数据类型(三)
    一、set的函数说明集合(set)是一个无序不重复元素的序列,基本功能是进行成员关系测试和删除重复元素,可以使用大括号({})或者 set()函数创建集合;注:创建一个空集合必须用set()而不是{ },因为{ }是用来创建一个空字典;在p...
    99+
    2023-01-31
    数据类型 Python
  • Java数据类型分类与基本数据类型转换
    目录1.数据类型的分类2.基本数据类型转换(1)自动类型转换(2)强制类型转换 1.数据类型的分类 Java的数据类型主要分为两类:基本数据类型、引用数据类型 Java中...
    99+
    2024-04-02
  • Python中的collections集合与typing数据类型模块
    目录一、collections集合1、namedtuple:命名tuple对象2、deque:双端队列3、defaultdict:默认字典4、OrderedDict:顺序字典5、Co...
    99+
    2024-04-02
  • Python集合与字典数据类型实例分析
    这篇文章主要讲解了“Python集合与字典数据类型实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python集合与字典数据类型实例分析”吧!前言集合数据类型是没有顺序的简单对象的聚集...
    99+
    2023-06-29
  • Redis基本数据类型Zset有序集合常用操作
    目录Redis数据类型Zset有序集合一、zadd二、zrange三、zrevrange四、zrangebyscore五、 zrem六、zcard七、zcountRedis数据类型Z...
    99+
    2024-04-02
  • Go基本数据类型与string类型互转
    目录一、基本数据类型转string类型方法一:fmt.Sprintf("%参数", 表达式)方法二:使用strconv包的函数二、string类型转基本数据类型一...
    99+
    2023-03-19
    Go基本数据类型与string类型 go类型转换
  • Python的基本语法与数据类型详解
    当学习 Python 编程语言时,掌握基本语法和数据类型是必不可少的。在这里,我们将讲解 Python 的变量和常量、字符串、数字、列表、元组和字典等数据类型,以及条件语句、循环语句和函数的使用方法。变量和常量在 Python 中,变量是用...
    99+
    2023-05-14
    Python 数据类型
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作