美文网首页
Python-学习之路-06 内置数据结构 list set d

Python-学习之路-06 内置数据结构 list set d

作者: 末世狂人 | 来源:发表于2019-01-28 21:17 被阅读0次

    元组

    • len:获取元组的长度
    • max\min:元组中最大值或最小值
      • 如果元组中有多个最大或最小值,则只打印一次最大或最小的值
    • 以下函数,对list基本适用

    函数

    • 基本跟list通用
    • count: 计算指定数据出现的次数
    • index: 获取指定数据出现的下标位置
      • 如果指定的值有多个,那么则返回第一个
    # max min
    l = (1,1,3,3,2,5,6,7,7,7)
    print(max(l))
    print(min(l))
    
    7
    1
    

    变量交换法

    • 两个变量的交换
      a,b = b,a
    # 变量交换
    a = 1
    b = 2
    
    a,b = b,a
    print(a)
    print(b)
    
    2
    1
    

    集合 set

    • 无序并且数据是唯一的一个列表,集合中每一个数据成为一个元素
    • 定义: set()或者{}
      • 如果使用{}来定义set,那么大括号中必须要有值,否则定义出来的是dict
      • set()也可用来将其他类型转换成set类型
    • 特征:
      • 集合内数据无序,即无法使用索引和分片
      • 集合内数据具有唯一性,可以用来排除重复数据
    • 集合内的数据类型:str\int\float\tuple等,即内部只能放置可哈希的数据
    # 集合的定义
    s = set()
    #或者
    # 如果使用{}来定义set,那么大括号中必须要有值,否则定义出来的是dict
    s = {1,23,4,5,6,7}
    print(type(s))
    
    <class 'set'>
    
    # 集合的遍历操作
    s = {"i","love","litinghui",4,5,6}
    for i in s:
        print(i,end="  ")
    print("")
    # 带有元组的集合遍历
    s = {(1,2,3),("i","love","litinghui"),(9024,456,"2345")}
    for k,m,n in s:
        print(k,"----",m,"-----",n,"----")
        
    print("")
    for k in s:
        print(k)
    
    4  5  6  i  litinghui  love  
    i ---- love ----- litinghui ----
    9024 ---- 456 ----- 2345 ----
    1 ---- 2 ----- 3 ----
    
    ('i', 'love', 'litinghui')
    (9024, 456, '2345')
    (1, 2, 3)
    

    集合函数或关于集合的函数

    • lel: 同上
    • max\min:同上
    • add: 向集合内添加元素
    • clear: 清空集合内的元素
    • copy:同list
    • remove:同list
    • discard: 移除集合中指定的值
      • 跟remove的作用一致,但是如果没有指定的值的话,discard不会报错,remove则会报错
    • pop:随机移除一个元素
    • intersection: 交集
    • difference: 差集
    • union:并集
    • issubset: 检查一个集合是否为另一个的子集
    • issuperset: 检查一个集合是否是另一个的超集'
    # pop
    s = {11,21,3,4,5,6,7,8,98}
    d = s.pop()
    print(d)
    print(s)
    
    98
    {3, 4, 5, 6, 7, 8, 11, 21}
    

    集合的数学操作

    • -(减号)
    s1 = {1,2,3,4,5,6}
    s2 = {4,5,6,7,8}
    s = s1-s2
    print(s)
    
    {1, 2, 3}
    

    frozenset:冰冻集合

    • 冰冻集合就是不可对集合进行任何修改的集合
    • frozenset是一种特殊的集合

    dict 字典

    • 字典是一种组合数据,没有顺序的组合数据,数据以健值对的形式存在
    • 字典的创建:
      • 创建字典由空的{}来创建
      • 以键值对的方式来创建:{key:value,key:value,key:value}
      • 利用关键字参数: {key=value,key=value,key=value}
      • dict()
    • 特征
      • 字典是序列类型,但是无法进行分片和索引
      • 每组数据都是由键值对的形式存在
        • key:必须是可哈希的值
        • value:任何值
    # 字典的常见操作
    d = {"one":1,"tow":2,"three":3}
    #访问
    print(d["one"])
    #修改
    d["one"] = "eins"
    print(d["one"])
    #删除
    del d["one"]
    print(d)
    
    1
    eins
    {'tow': 2, 'three': 3}
    
    # 成员检测 in\not in
    # 成员检测是key的内容
    
    # 遍历
    d = {"one":1,"tow":2,"three":3}
    for k in d:
        print(d[k]) 
        
    for k in d.keys():
        print(d[k])
        
    #直接访问值
    for v in d.values():
        print(v)
        
    # 获取每一个键值对
    for k,v in d.items():
        print(k,"--->",v)
    
    1
    2
    3
    1
    2
    3
    1
    2
    3
    one ---> 1
    tow ---> 2
    three ---> 3
    
    # 字典生成式
    d = {"one":1,"tow":2,"three":3}
    ## 常规的生成式
    dd = {k:v for k,v in d.items()}
    print(dd)
    
    ## 限制条件的生成式
    ddd = {k:v for k,v in d.items() if v%2==0}
    print(ddd)
    
    {'one': 1, 'tow': 2, 'three': 3}
    {'tow': 2}
    

    字典的相关函数

    • len\max\min\dict
    • str() :以字符串的形似返回字典的key:value
    • clear: 清空字典
    • items: 返回字典的键值对组成的元组格式
    • keys: 返回字典的健组成的一个结构
    • values: 返回字典的值组成的一个结构
    • get: 根据指定健返回相应的值,可以设置默认值
      • get(d.get("不存在的key","默认值"))
      • 默认值可省略,省略后如果key不存在则返回None
    • fromkeys:使用指定的序列作为健,使用一个值作为所有健的值
    # fromkeys
    l = ["one","tow","three"]
    d = dict.fromkeys(l,666)
    print(d)
    
    {'one': 666, 'tow': 666, 'three': 666}
    

    相关文章

      网友评论

          本文标题:Python-学习之路-06 内置数据结构 list set d

          本文链接:https://www.haomeiwen.com/subject/oopzjqtx.html