zoukankan      html  css  js  c++  java
  • 元组,字典,集合,布尔值

    一:元组类型:
    定义:元组是不可变的列表,有序,存多个值
    定义方式:在()中用逗号将不同的任意类型的元素分隔开就叫元组,如果元组中只有一个元素,后面必须加逗号。
    数据类型转换: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,空
  • 相关阅读:
    WPF 下两种图片合成或加水印的方式(转载)
    Git reset与checkout的区别
    C# 串口导致电脑蓝屏一个可能的原因
    两个用于win7任务栏显示进度的dll
    批量远程执行shell命令工具
    基于zookeeper的主备切换方法
    代码的演变随记
    svn错误:Can't convert string from 'UTF-8' to native encoding
    not allowed to access to crontab because of pam configuration
    大数据利器
  • 原文地址:https://www.cnblogs.com/xiezuodd/p/10220331.html
Copyright © 2011-2022 走看看