zoukankan      html  css  js  c++  java
  • python列表和元组的操作函数

    回顾:
    len函数在列表(元组)中的使用:
    eg: names = ['zhangsan', 'lisi', 'wanger', 'mazi']
        length = len(names)
        print(length)
    返回结果应为: 4
    元组的使用规则也是一样的;
    len函数可以计算出,除数字类型外的所有数据类型的长度;
    
    列表(元组)间的累加与累乘:
    eg: names = ['zhangsan', 'lisi']
        new_names = names + names 
        print(new_names)
    返回结果应为: ['zhangsan', 'lisi', 'zhangsan', 'lisi']
    
        names = ['zhangsan', 'lisi']
        new_names = names * 2
        print(new_names)
    返回结果应为: ['zhangsan', 'lisi', 'zhangsan', 'lisi']
    
    innot in 在列表(元组)中的用法:
    in 判断某个元素是否存在于该数据结构中;
    not in 判断某个元素是否不存在与该数据结构中;
    它们返回的都是bool值;
    eg: names = ['zhangsan', 'lisi']
        booltype = 'lisi' in names
        print(booltype)
    返回结果应为: True
        names = ['zhangsan', 'lisi']
        booltype = bool('lisi' not in names)
        print(booltype)
    返回结果应为: False
    列表的添加函数之append:
    功能:将一个元素添加到当前列表中;
    用法:
    list.append(new_item)
    参数:
    new_item:要添加进列表的新元素;
    eg: names = ['zhangsan']
        names.append('lisi')
        print(names)
    返回结果应为:['zhangsan', 'lisi']
    注意:
    1、被添加的元素只会被添加到末尾;
    2、append是在原有的列表基础进行添加,不需要额外添加新的变量;
    3、每次只能加入一个元素;
    列表的添加函数之insert:
    功能:将一个元素添加到当前列表的指定位置中;
    用法:
    list.insert(index, new_item)
    参数:
    index:新的元素要放置的位数;
    new_item:要添加的新元素;
    eg: names = ['zhangsan', 'wanger']
        names.insert(1, 'lisi')
        print(names)
    返回结果应为:['zhangsan', 'lisi', 'wanger']
    ps:字符串、元组、列表中元素的位置是从0开始计算的;
    
    insert 与 append 的区别:
    1、append只能把元素添加到结尾,而insert可以选择一个指定位置添加;
    2、如果insert传入的位置不存在,则会把新元素添加到列表末尾;
    列表(元组)的count函数:
    功能:返回当前列表(元组)中的某个元素的个数;
    用法:
    inttype = list.count(item)
    参数:
    item:你想查询个数的元素;
    eg: names = ['zhangsan','lisi', 'wanger', 'lisi']
        count = names.count('lisi')
        print(count)
    返回结果应为:2
    注意:
    1、如果查询的元素不存在,则返回0;
    2、只会检查完整的元素(不支持模糊查询);
    列表的remove函数:
    功能:删除列表中的某个元素;
    用法:
    list.remove(item)
    参数:
    item:准备删除的列表元素;
    eg: names = ['zhangsan','lisi']
        names.remove('lisi')
        print(names)
    返回结果应为:['zhangsan']
    注意:
    1、如果被删除的元素不存在,将会报错;
    2、如果被删除的元素在列表中存在多个,则只会删除第一个元素;
    第八个内置函数del:
    功能:把变量完全删除;
    eg: names = ['zhangsan','lisi']
        del names
        print(names)
    返回结果将会报错:NameError: name 'names' is not defined
    
    列表的reverse函数:
    功能:把当前列表顺序反转;
    用法:
    list.reverse()
    eg: names = ['zhangsan','lisi', 'wanger', 'mazi']
        names.reverse()
        print(names)
    返回结果应为: ['mazi', 'wanger', 'lisi', 'zhangsan']
    列表的sort函数:
    功能:对当前列表按照一定规律进行排序;
    用法:
    list.sort(key=None, reverse=False)
    参数:
    key:参数比较(默认不传);
    reverse:排序规则,True为降序,False为升序(默认是升序);
    eg: names = ['zhangsan','lisi', 'wanger', 'mazi']
        names.sort()
        print(names)
    返回结果应为:['lisi', 'mazi', 'wanger', 'zhangsan']
    注意:列表中元素类型必须相同,否则使用sort会报错;
    列表的clear函数:
    功能:清空当前列表中的数据;
    用法:
    list.clear()
    eg: names = ['zhangsan','lisi', 'wanger', 'mazi']
        names.clear()
        print(names)
    返回结果应为:[]
    列表的copy函数:
    功能:复制当前列表;
    用法:
    list.copy()
    eg: names = ['zhangsan','lisi', 'wanger', 'mazi']
        names_new = names.copy()
        print(names_new)
    返回结果应为:['zhangsan', 'lisi', 'wanger', 'mazi']
    copy与二次赋值的区别:
    什么是二次赋值:
     a = [1, 2, 3]
     b = a
    向上面的方法就叫二次赋值;
    区别:二次赋值的变量与原始变量享有共同的内存空间,故而同享数据变更,而用copy函数创建的新列表,与原始列表不是一个内存空间,所以也不同享数据变更;
    注意:copy属于浅拷贝;
    浅拷贝:只能对数据结构的第一层进行拷贝,如果数据结构有更深的层则无法进行拷贝,深层数据与原数据共享,变化也会共享;
    简单的讲,我们有一个列表a,列表a里的元素也是列表,当我们使用copy拷贝出新列表b后,无论是a还是b内部的列表元素发生改变后,另一个也会跟着改变;
    eg:a = [[1, 2, 3], [4, 5, 6]]
        b = a.copy()
        b[0].append(2021)
        print(a)
        print(b)
    输出结果应为:   [[1, 2, 3, 2021], [4, 5, 6]]
                    [[1, 2, 3, 2021], [4, 5, 6]]
    深拷贝:不仅对第一层的数据进行了拷贝,对深层数据也进行了拷贝,原始变量和新变量不在共用任何内存,固然也不会共享任何数据;
    用法:
    list_new = copy.deepcopy(list)
    eg: a = [[1, 2, 3], [4, 5, 6]]
        b = copy.deepcopy(a)
        b[0].append(2021)
        print(a)
        print(b)
    返回结果应为:[[1, 2, 3], [4, 5, 6]]
                [[1, 2, 3, 2021], [4, 5, 6]]
    
    列表的extend函数:
    功能:将其他列表/元组中的元素导入到当前列表中;
    用法:
    list.extend(iterable)
    eg: names = ['zhangsan', 'lisi']
        new_names = ('wanger', 'mazi')
        names.extend(new_names)
        print(names)
    返回结果应为:['zhangsan', 'lisi', 'wanger', 'mazi']
  • 相关阅读:
    ZOJ 1002 Fire Net
    Uva 12889 One-Two-Three
    URAL 1881 Long problem statement
    URAL 1880 Psych Up's Eigenvalues
    URAL 1877 Bicycle Codes
    URAL 1876 Centipede's Morning
    URAL 1873. GOV Chronicles
    Uva 839 Not so Mobile
    Uva 679 Dropping Balls
    An ac a day,keep wa away
  • 原文地址:https://www.cnblogs.com/BrotherCat/p/14963867.html
Copyright © 2011-2022 走看看