zoukankan      html  css  js  c++  java
  • 7-4列表/元组/字典/集合的内置方法

    一.列表

    1.1 元素统计(count)

    l = [1,2,3,4,5,6,7]
    res = l.count(3)
    print(res)  # 输出结果是1
    View Code

    1.2清除(clear)

    l = [1,2,3,4,5,6,7]
    res = l.clear()
    print(l)

    1.3反向输出列表

    l = [1,2,3,4,5,6,7]
    l.reverse() 
    print(l)  # [7, 6, 5, 4, 3, 2, 1]
    View Code

    1.4将列表内元素排序(sort)

    l2 = [1, 342, 45, 23, 4, 435, 34, 324, 234]
    l2.sort()
    print(l2)  # [1, 4, 23, 34, 45, 234, 324, 342, 435]
    View Code

    ps:默认为升序输出,也可以通过修改默认的排序规则(降序) eg:

    l2 = [1, 342, 45, 23, 4, 435, 34, 324, 234]
    l2.sort(reverse=True)
    print(l2)  # [435, 342, 324, 234, 45, 34, 23, 4, 1]
    View Code

    1.5队列(先进先出)

    l1 = []
    l1.append('first')  # 先进
    l1.append('second')
    l1.append('third')
    print(l1.pop(0))  # 先出
    print(l1.pop(0))
    print(l1.pop(0))
    View Code

    1.6堆栈(先进后出)

    l1 = []
    l1.append('first')
    l1.append('second')
    l1.append('third')
    print(l1.pop())
    print(l1.pop())
    print(l1.pop())
    '''
    third
    second
    first
    '''
    View Code

    二.元组(不可变)

    2.1元组的作用

      作用:能够存储多个元素,元素和元素之间用逗号隔开,元素可以是任何类型,元组不能修改

    2.2定义

      ()内包含若干个元素,元素和元素之间用逗号隔开,元素可以是任何类型,元组不能修改

    ps:age = (11,22)  本质age = tuple(11,22)

           当定义的元组内只有一个元素时需添加一个逗号,否则定义的将不是元组

    a=(1)
    print(type(a))  # <class 'int'>
    a=(1,)
    print(type(a))  # <class 'tuple'>
    View Code

    2.3按照索引取值

    t = (1, 2, 3, 'a', 'b', [1, 2, 3])
    print(t[0])  # 1
    View Code

    2.4切片(顾头不顾尾,步长

    t = (1, 2, 3, 'a', 'b', [1, 2, 3])
    print(t[::2])  # (1, 3, 'b')
    View Code

    2.5成员运算(in/not in)

    t = (1, 2, 3, 'a', 'b', [1, 2, 3])
    print('a' in t)  # True
    View Code

    2.6元素统计(count)

    t = (1, 2, 3, 'a', 'b', [1, 2, 3])
    print(t.count('a'))  # 1
    View Code

    2.7查找元素(index)

    t = (1, 2, 3, 'a', 'b', [1, 2, 3])
    print(t.index('xxx'))  # 报错  当查找元素不再元组中会报错

    三.字典

    3.1按key取值,可存可取

    l={
        'a':1,
        'b':'ahah',
        'c':12
    }
    l['b']='beautiful'
    l['xxx']='aa'
    print(l['a'])
    print(l)  # 1 {'a': 1, 'b': 'beautiful', 'c': 12, 'xxx': 'aa'}
    View Code

    ps:在字典中key的值一定要唯一,重复只会输出最后一个相同的key对应的键值对

           赋值语句当key不存在的情况下,会自动新增一个键值对,当key存在时会更新为新输入的值

    d2 = {'name':'jason','name':'tank','name':'nick','password':123}
    print(d2)  # {'name': 'nick', 'password': 123}

    3.2长度(len)

    l={
        'a':1,
        'b':'ahah',
        'c':12
    }
    print(len(l))  # 3
    View Code

    3.3成员运算(in/not in 只能判断key的值)

    d3 = {'name':'jason','password':'123'}
    print('123' in d3)  # False
    print('name' in d3)  # True
    View Code

    3.4删除

    d3 = {'name':'jason','password':'123'}
    del d3['name']
    print(d3)  # {'password': '123'}
    
    d3 = {'name':'jason','password':'123'}
    res = d3.pop('name')  # 弹出仅仅是value
    print(res)
    print(d3)  
    '''
    jason
    {'password': '123'}
    '''
    
    d3 = {'name':'jason','password':'123'}
    res = d3.pop('age')  # 当键不存在的时候直接报错
    print(d3)
    
    d3 = {'name':'jason','password':'123'}
    d3.clear()
    print(d3)  # {}
    View Code

    3.5keys(),values(),键值对items()

    d1 = {'name':'jason','password':123}
    print(d1.keys())  # dict_keys(['name', 'password'])  
    
    print(d1.values())  # dict_values(['jason', 123])  # 相当于一个列表  
    
    print(d1.items())  # dict_items([('name', 'jason'), ('password', 123)])
    # 就把它看成是列表套元组,元组的第一个元素是字典的key 第二个元素是字典的value
    View Code

    3.6通过key获取值(get())

    l={'name':'zhang','hobby':'read'}
    print(l.get('name','da'))  # key存在返回对应的
    print(l.get('age','da'))  # key不存在 不报错 若不规定第二个参数则默认返回输入的第二个参数
    print(l.get('age'))  # key不存在 不报错 若不规定第二个参数则默认返回None
    '''
    zhang
    da
    None
    '''
    # key不存在 不报错 若不规定第二个参数则默认返回输入的第二个参数
    View Code

    3.7快速建立一个字典(fromkeys())

    l1 = ['name','password','age','hobby']
    print(dict.fromkeys(l1,123))
    # {'name': 123, 'password': 123, 'age': 123, 'hobby': 123}
    View Code

    3.8键值对的弹出(popitems())

    d1 = {'name':'jason','pwd':123}
    print(d1.popitem())  # 尾部以元组的形式弹出键值对

    3.9setdefault()

    d1 = {'name':'zhang','pwd':123}
    res1 = d1.setdefault('name','xxxx')  # 当键存在的情况下 不修改值 并且将原先key对应值返回给你
    print(d1,res1)
    res2 = d1.setdefault('age',23)  # 当键不存在的情况下 新增一个键值对 并且将新增的键值对的值返回给你
    print(d1,res2)
    '''
    {'name': 'zhang', 'pwd': 123} zhang
    {'name': 'zhang', 'pwd': 123, 'age': 23} 23
    '''
    View Code

    3.10update()

    d1 = {'name':'jason','pwd':123}
    d2 = {"age":18}
    d1.update(d2)
    print(d1)  # {'name': 'jason', 'pwd': 123, 'age': 18}
    
    d1 = {'name':'jason','pwd':123}
    d1['age'] = 18  # 新增一个键值对
    d1.update(age=666)
    print(d1)  # {'name': 'jason', 'pwd': 123, 'age': 666}
    View Code

    3.11循环

      格式:for 变量名 in 字典:

    四.集合

    4.1集合的作用

    用来去重和进行关系运算

    4.2集合的定义

    s = {1,2,3}  # s = set((1,2,3))

    当需要定义一个空集合时需要写成s1 = set() 如果写出s1 = {},这会被定义成字典类型

    ps:集合的三个原则:

        1.每个元素必须时不可变元素

        2.没有重复元素

        3.无序

    4.2长度(len)

    s = {1,2,3,4}
    print(len(s))  # 4
    View Code

    4.3成员运算

    s = {1,2,3,4}
    print(1 in s)  # True
    View Code

    4.4关系运算

    a={'aa','bb','cc''qq',1,3,4}
    b={'bb',1,4,'qq'}
    print(a | b)  # a和b的并集  {1, 3, 4, 'aa', 'bb', 'qq', 'ccqq'}
    print(a - b)  # a和b的差集  {'aa', 3, 'ccqq'}
    print(a ^ b)  # a和b的对称差集  {3, 'aa', 'qq', 'ccqq'}
    print(a & b)  # a和b的交集  {1, 'bb', 4}
    View Code
    a={1,2,3,4}
    b={1,2,3}
    print(a >= b)  # a是b的父集
    print(b <= a)  # b是a的子集
    View Code

    4.5添加元素、

    s = {1,2,3,4,5}
    s.add(666)
    print(s)

    4.6移除元素

    s = {1,2,3,4,5}
    print(s.remove(1))  # none
    print(s)  # {2,3,4,5}
    print(s.remove(6))  # 报错 用remove 命令时移除处对象在集合内没有返回值直接移除,当移除对象不再集合内时会报错
    
    s = {1,2,3,4,5}
    print(s.discard(888888888))  
    print(s)  # 当使用discard时移除对象不再集合内,不会报错返回值是None
    View Code

     附件:

  • 相关阅读:
    客户端模块化的精益求精
    从风控的角度解析如何防止客户刷单
    ubuntu 安装 codelite
    使用curl在命令行中下载文件
    awk的使用
    优秀web资源
    Asp.net 生成静态页面
    提高ASP.NET首页性能的十大方法
    ASP.NET伪静态
    URLRewriter.dll的使用
  • 原文地址:https://www.cnblogs.com/z929chongzi/p/11134824.html
Copyright © 2011-2022 走看看