zoukankan      html  css  js  c++  java
  • 列表,元祖,字典,集合类型内置方法

    一 列表类型内置方法

    1.作用:存在多个元素
    2.定义方式:[]内用逗号隔开任意数据类型的元素
    3.方法
    4.多个值or一个值:多个值
    5.有序or无序:有序
    6.可变or不可变:可变
    
    name_list = ['jack','engo','nick']
    s_list = list('sdfa')
    print(s_list)
    
    ['s', 'd', 'f', 'a']
    
    
    3.方法:
    

    (1)按索引取值:正向取值+反向取值,既可取也可以存

    name_list = ['jack','engo','nick','amy']
    print(name_list[2])         # 打印索引为2的元素
    print(name_list[-1])        # 打印索引为-1的元素
    
    nick
    amy
    

    (2)切片

    print(name_list[1:3])     # 打印索引为1到3之间的元素
    print(name_list[-2:])     #  打印最后2个元素
    
    ['engo', 'nick']
    ['nick', 'amy']
    

    (3)len 长度

    print(len(name_list))    # 获取name_list的字符串长度
    
    4
    

    (4)in 和 not in

    print('jack' in name_list)   # 'jack'在name_list中
    print('jack' not in name_list)   # 'jack'不在name_list中
    
    True
    False
    

    (5)append 追加
    用于在列表末尾添加新的对象,只接受一个参数,参数可以是任何数据类型,被追加的元素在List中保持着原结构类型,此元素如果是一个list,那么这个list将作为一个整体进行追加

    name_list = ['jack','engo','nick']
    name_list.append('helen')   # 在列表最后添加‘helen’
    name_list.append(['helen','aym'])  #在列表最后添加列表['helen','aym']
    print(name_list)
    
    ['jack', 'engo', 'nick', 'helen', ['helen', 'aym']]
    

    (6)extend
    将一个列表中每个元素分别添加到另一个列表中,只接受一个参数;extend()相当于是将list B 连接到list A上,列表A中存在的元素也会添加

    name_list = ['jack','engo','nick']
    name = ['aym','helen','egon']      
    name_list.extend(name)    #将列表‘name’添加到‘name_list’后面
    print(name_list)
    
    ['jack', 'engo', 'nick', 'aym', 'helen', 'egon']
    

    (7)insert
    将一个元素插入到列表中,但其参数有两个(如insert(1,"g")),第一个参数是索引点,即插入的位置,第二个参数是插入的元素

    name_list = ['jack','engo','nick']
    name_list.insert(1,'aym')   # 将‘aym’添加到索引为1的位置
    print(name_list)
    
    ['jack', 'aym', 'engo', 'nick']
    

    (8)del
    按照索引删除字符,返回值不可用给其他变量

    del(name_list[2])
    print(name_list)
    
    ['jack', 'engo', 'helen']
    

    (9)pop
    按照索引删除字符,返回值可以给其他变量,返回的是你弹出的那个数值
    默认删除最后一个值,删除指定索引的值

    name_list = ['jack','engo','nick','aym','helen']
    name_list.pop()      # 删除‘helen’
    name_list.pop(-2)    # 删除‘nick’
    print(name_list)
    
    ['jack', 'engo', 'aym']
    
    (10)remove
        删除首个字符符合条件的元素,并不能删除特定的索引
    
    name_list = ['jack','engo','nick','aym','helen']
    name_list.remove('helen')    # 删除最后一个元素
    print(name_list)
    
    ['jack', 'engo', 'nick', 'aym']
    
    (11)for 循环
    

    (12)count
    用于统计字符串里某个字符出现的次数。

    name_list = ['helen','jack','engo','nick','aym','helen','helen','helen']
    print(name_list.count('helen'))     # 统计‘helen’出现的次数
    
    4
    4
    

    (13)sort
    用于对原列表进行排序,排序结果返回原列表;如果指定参数,则使用比较函数指定的比较函数
    reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)

    name_list = ['jack','engo','nick','aym','helen']
    name_list.sort()          # 已首字母进行升序排序(默认)
    print(name_list)
    name_list = ['jack','engo','nick','aym','helen']
    name_list.sort(reverse = True)
    print(name_list)         # 已首字母进行降序排序
    
    ['aym', 'engo', 'helen', 'jack', 'nick']
    ['nick', 'jack', 'helen', 'engo', 'aym']
    

    (14)reverse
    用于反向列表中元素(反向排序)

    name_list = ['jack','engo','nick','aym','helen']
    name_list.reverse()     # 反向排序
    print(name_list)
    
    ['helen', 'aym', 'nick', 'engo', 'jack']
    

    (15)index
    从左向右寻找子序列的位置

    name_list = ['jack','engo','nick','aym','helen']
    print(name_list.index('nick'))
    
    2
    

    (16)clear
    clear() 函数用于清空列表,类似于 del a[:]

    name_list = ['jack','engo','nick','aym','helen']
    name_list.clear()     # 情况name_list的内容
    print(name_list)
    
    []
    

    二 元祖类型内置方法

    1.作用:类似于列表,可存不可取
    2.定义方式:
        tup1 = ('Google', 'Runoob', 1997, 2000);
        tup2 = (1, 2, 3, 4, 5 );
        tup3 = "a", "b", "c", "d";   #  不需要括号也可以
    3.方法
        (1)索引取值
        (2)切片
        (3)长度
        (4)成员运算
        (5)for循环
        (6)count
        (7)index
    4.多个值or一个值:多个值
    5.有序or无序:有序
    6.可变or不可变:无可变不可变这一说
    

    三 字典类型的内置方法

    1.作用:值太多列表存容易,取麻烦时使用字典
    2.定义方式:
        字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中
        dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
    3.方法:
    4.多个值or一个值:多个值
    5.有序or无序:无序
    6.可变or不可变:可变
    

    (1)按键取值
    按key键取值,可存可取

    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    print(dict['Class'])       # 取出‘Class’的值·
    
    First
    

    (2)len
    计算字典元素个数,即键的总数

    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    print(len(dict))   
    
    3
    

    (3)key,valuses,items

    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    print(dict.items())
    print(dict.keys())
    print(dict.values())
    
    dict_items([('Name', 'Runoob'), ('Age', 7), ('Class', 'First')])
    dict_keys(['Name', 'Age', 'Class'])
    dict_values(['Runoob', 7, 'First'])
    

    (4)for循环

    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    for k, v in dict.items():
        print(k, v)
    
    Name Runoob
    Age 7
    Class First
    
    (5)in 和 not in
        in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false
    
    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    print('Class' in dict)
    
    False
    
    (6)pop
        删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出
    
    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    print(dict.pop('Name'))
    print(dict)
    
    Runoob
    {'Age': 7, 'Class': 'First'}
    
    (7)fromkeys
        默认把给定列表内的元素取出来当成key,然后使用一个默认value新建一个字典
    
    dic = dict.fromkeys(['a','b','c','d','e'], 1)     # 指定值
    print(dic)                             
    x = dict.fromkeys(('key1', 'key2', 'key3'))     # 不指定值
    print(x)
    
    {'a': 1, 'b': 1, 'c': 1, 'd': 1, 'e': 1}
    {'key1': None, 'key2': None, 'key3': None}
    
    (8)setdefault
        如果字典中有该key的话,则key对应的值不变;如果没有,则增加
    
    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    dict.setdefault('搜索','google')      # dict中增加'搜索':'google'
    print(dict)
    dict.setdefault('Name','nick')     # dict中已存在‘name’的给定值,不会发生改变
    print(dict)
    
    {'Name': 'Runoob', 'Age': 7, 'Class': 'First', '搜索': 'google'}
    {'Name': 'Runoob', 'Age': 7, 'Class': 'First', '搜索': 'google'}
    
    (9)get
        get() 函数返回指定键的值,如果值不在字典中返回默认值,也可以返回给定的值
    
    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    print(dict.get('Age'))             # 找到返回指定键的值
    print(dict.get('name'))     # 没找‘name’则返回默认值
    print(dict.get('name','NO'))    # 没找‘name’则返回给定的值‘NO’
    
    7
    None
    NO
    
    (10)update
        把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里
    
    dict = {'Name': 'Runoob', 'Age': 7}
    dict2 = {'Sex': 'female' }
    dict.update(dict2)
    print(dict)
    
    {'Name': 'Runoob', 'Age': 7, 'Sex': 'female'}
    
    (11)del
        删单一的元素也能清空字典
    
    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    del dict['Name']             # 删除‘name’及对应的值
    print(dict)
    dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
    del dict                     # 清空dict的所以内容
    print(dict)
    
    {'Age': 7, 'Class': 'First'}
    <class 'dict'>
    

    四 集合类型内置方法

    1.作用:存多个值,为了集合之间做运算
    2.定义:可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
        parame = {value1,value2,value3}
        创建集合:    value = set()
                  print(value)
    3.方法:
    4.多个值or一个值:多个值
    5.有序or无序:无序
    6.可变or不变:可变
    

    (1)去重
    列表转集合,会自动去重,但也会打乱列表元素原有的顺序

    list = [0,0,1,2,1,3,5,5,4,8,6,7]
    list1 = set(list)
    print(list1)
    
    {0, 1, 2, 3, 4, 5, 6, 7, 8}
    
    (2)交集  
        intersecion() ;交集也可以用 & 表示 :set1 & set2
    
    list_set = set([1,5,6,7,0,0,4,5,6])
    print(list_set)
    list_set2 = set([23,5,78,9,4,56])
    print(list_set2)
    print(list_set.intersection(list_set2))
    
    {0, 1, 4, 5, 6, 7}
    {4, 5, 9, 78, 23, 56}
    {4, 5}
    
    (3)并集
        union() ;并集也可以用 | 表示: set1 | set2;
    
    list_set = set([1,5,6,7,0,0,4,5,6])
    print(list_set)
    list_set2 = set([23,5,78,9,4,56])
    print(list_set2)
    print(list_set.union(list_set2))
    
    {0, 1, 4, 5, 6, 7}
    {4, 5, 9, 78, 23, 56}
    {0, 1, 4, 5, 6, 7, 9, 78, 23, 56}
    
    (4)差集
        (就是这个集合有,而另一个集合没有的) difference() ;差集也可以用 - 表示: set1 - set2
    
    list_set = set([1,5,6,7,0,0,4,5,6])
    print(list_set)
    list_set2 = set([23,5,78,9,4,56])
    print(list_set2)
    print(list_set.difference(list_set2))
    
    {0, 1, 4, 5, 6, 7}
    {4, 5, 9, 78, 23, 56}
    {0, 1, 6, 7}
    
    (5)对称差级
        对称差集(相当于并集减去交集) symmetric_difference();对称差集也可以用 ^ 表示 ;set1 ^ set2
    
    list_set = set([1,5,6,7,0,0,4,5,6])
    print(list_set)
    list_set2 = set([23,5,78,9,4,56])
    print(list_set2)
    print(list_set.symmetric_difference(list_set2))
    
    {0, 1, 4, 5, 6, 7}
    {4, 5, 9, 78, 23, 56}
    {0, 1, 7, 6, 23, 56, 9, 78}
    
    (6)父级
        父集 issuperset();父集也可以用 >= 表示; set1 >= set2
    
    list_set = set([1,5,6,7,0,0,4,5,6])
    print(list_set)
    list_set2 = set([23,5,78,9,4,56])
    print(list_set2)
    print(list_set.issuperset(list_set2))
    
    {0, 1, 4, 5, 6, 7}
    {4, 5, 9, 78, 23, 56}
    False
    
    (7)子集
        子集 issubset();子集也可以用 <= 表示; set1 <= set2
    
    list_set = set([1,5,6,7,0,0,4,5,6])
    print(list_set)
    list_set2 = set([23,5,78,9,4,56])
    print(list_set2)
    print(list_set.issubset(list_set2))
    
    {0, 1, 4, 5, 6, 7}
    {4, 5, 9, 78, 23, 56}
    False
    
    (8) ==
        判断2个集合是否相等
    
    list_set = set([1,5,6,7,0,0,4,5,6])
    print(list_set)
    list_set2 = set([23,5,78,9,4,56])
    print(list_set2)
    print(list_set == (list_set2))
    
    {0, 1, 4, 5, 6, 7}
    {4, 5, 9, 78, 23, 56}
    False
    
    拷贝
        如果l2是l1的拷贝对象,则l1内部的任何数据类型的元素变化,则l2内部的元素也会跟着改变,因为可变类型值变id不变
    
    浅拷贝
        如果l2是l1的浅拷贝对象,则l1内的不可变元素发生了改变,l2不变;如果l1内的可变元素发生了改变,则l2会跟着改变
    
    深拷贝
        如果l2是l1的深拷贝对象,则l1内的不可变元素发生了改变,l2不变;如果l1内的可变元素发生了改变,l2也不会变,即l2永远不会因为l1的变化而变化
    
  • 相关阅读:
    gbk与utf-8转换
    gdb注意事项
    Ubuntu导入证书
    Ubuntu 修改hosts
    GDB配置与.gdbinit的编写
    linux中用户的主目录~
    关于C++构造函数初始化顺序
    C++中的static关键字的总结
    Flutter移动电商实战 --(2)建立项目和编写入口文件
    Flutter移动电商实战 --(1)项目学习记录
  • 原文地址:https://www.cnblogs.com/einsam/p/10927787.html
Copyright © 2011-2022 走看看