• python列表和元组操作


    列表

      列表(list)是python以及其他语言中最常用到的数据结构之一。Python使用中括号[ ]来解析列表。列表是可变的(mutable)—可以改变列表的内容。

    定义列表

    names = ['musker','jack','jenney']

    可以使用list函数常见一个列表

    >>> list('hello')
    ['h', 'e', 'l', 'l', 'o']

    通过下标访问列表中的元素,下标从0开始

    >>> names[0]
    'musker'
    >>> names[1]
    'jack'
    >>> names[2]
    'jenney'

     切片:取出多个元素

    >>> names = ['musker', 'jack', 'jenney','zhangsan','lisi']
    >>> names[1:4]    #取出下标1到4之间的元素,包括1,但不包括4
    ['jack', 'jenney', 'zhangsan']
    >>> names[1:-1]    #取出下标1到-1(从列表最后开始)之间的元素,包括1,但不包括-1
    ['jack', 'jenney', 'zhangsan']
    >>> names[0:3]
    ['musker', 'jack', 'jenney']
    >>> names[:3]    #效果同上
    ['musker', 'jack', 'jenney']
    >>> names[0::2]    #2的含义是每隔一个元素取出一个
    ['musker', 'jenney', 'lisi']
    >>> names[::2]    #同上
    ['musker', 'jenney', 'lisi']
    切片

      追加

    >>> names
    ['musker', 'jack', 'jenney', 'zhangsan', 'lisi']
    >>> names.append('new name')
    >>> names
    ['musker', 'jack', 'jenney', 'zhangsan', 'lisi', 'new name']
    追加

     插入

    >>> names
    ['musker', 'jack', 'jenney', 'zhangsan', 'lisi', 'new name']
    >>> names.insert(2,'强行从jeeney前面插')
    >>> names
    ['musker', 'jack', '强行从jeeney前面插', 'jenney', 'zhangsan', 'lisi', 'new name']
    插入

      修改

    >>> names
    ['musker', 'jack', '强行从jeeney前面插', 'jenney', 'zhangsan', 'lisi', 'new name']
    >>> names[3] = '该换人了'
    >>> names
    ['musker', 'jack', '强行从jeeney前面插', '该换人了', 'zhangsan', 'lisi', 'new name']
    修改

      删除

    >>> names
    ['musker', 'jack', '强行从jeeney前面插', '该换人了', 'zhangsan', 'lisi', 'new name']
    >>> names.pop()    #删除末尾的一个元素
    'new name'
    >>> names
    ['musker', 'jack', '强行从jeeney前面插', '该换人了', 'zhangsan', 'lisi']
    >>> names.pop(1)    #删除指定下标的元素
    'jack'
    >>> names
    ['musker', '强行从jeeney前面插', '该换人了', 'zhangsan', 'lisi']
    >>> names.remove('zhangsan')    #删除指定的元素(没有返回值)
    >>> names
    ['musker', '强行从jeeney前面插', '该换人了', 'lisi']
    删除

     扩展

    >>> names
    ['musker', '强行从jeeney前面插', '该换人了']
    >>> names2 = [1,2,3,4,5]
    >>> names.extend(names2)
    >>> names
    ['musker', '强行从jeeney前面插', '该换人了', 1, 2, 3, 4, 5]
    扩展

      统计:统计指定元素在列表中出现的次数

    >>> num
    [1, 3, 4, 56, 2, 4, 1, 22, 3, 4, 1, 2, 31, 3]
    >>> num.count(3)
    3
    统计

     排序&翻转

    >>> names
    ['zhangsan', 'lisi', 'wangwu', 'maliu', 'Tom', 'Jack', 'Mzc', '3', '4', 'Mzc']
    >>> names.reverse()        #翻转
    >>> names
    ['Mzc', '4', '3', 'Mzc', 'Jack', 'Tom', 'maliu', 'wangwu', 'lisi', 'zhangsan']
    --------------------------------------------------------------------------------
    >>> names.sort()    #排序,正序
    >>> names
    ['3', '4', 'Jack', 'Mzc', 'Mzc', 'Tom', 'lisi', 'maliu', 'wangwu', 'zhangsan']
    >>> names.sort(reverse=True)    #倒序
    >>> names
    ['zhangsan', 'wangwu', 'maliu', 'lisi', 'Tom', 'Mzc', 'Mzc', 'Jack', '4', '3']
    排序&翻转

      获取下标

    >>> names
    ['zhangsan', 'wangwu', 'maliu', 'lisi', 'Tom', 'Mzc', 'Mzc', 'Jack', '4', '3']
    >>> names.index('Tom')
    4
    获取下标

     拷贝

    >>> names
    ['zhangsan', 'lisi', 'wangwu', 'maliu', 'Tom', 'Jack', 'Mzc', '3', '4', 'Mzc']
    >>> names_copy = names.copy()
    >>> names.pop()
    'Mzc'
    >>> names
    ['zhangsan', 'lisi', 'wangwu', 'maliu', 'Tom', 'Jack', 'Mzc', '3', '4']
    >>> names_copy
    ['zhangsan', 'lisi', 'wangwu', 'maliu', 'Tom', 'Jack', 'Mzc', '3', '4', 'Mzc']
    拷贝

     这里的copy是浅copy

     copy的探究:戳这里

    列表生成式:

    普通写法1
    a = [1,3,4,6,7,7,8,9,11]
    
    普通写法2
    for index,i in enumerate(a):
        a[index] +=1
    print(a)
    
    生成式写法
    a = [i+1 for i in range(10)]
    print(a)
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    元组

      元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表;

      元组的意义:元组可以在映射(和集合的成员)中当作键使用——而列表则不行;元组作为很多内建函数和方法的返回值存在。

    创建元组的语法很简单:如果你用逗号分隔了一些值,那么你就自动创建了元组

    >>> 1, 2, 3  
    (1, 2, 3)

     元组也是(大部分时候是)通过圆括号括起来的

    >>> (1,2,3)  
    (1, 2, 3)

     实现包括一个值的元组有些奇特——必须加个逗号

    >>> 42,  
    (42,)  
    >>> (42,)  
    (42,)

     tuple函数的功能与list函数基本上是一样的:以一个序列作为参数并把它转化为元组

    >>> tuple([1, 2, 3])  
    (1, 2, 3)

     它只有2个方法,一个是count,一个是index,对,还有切片的功能,完毕。

  • 相关阅读:
    SQL——BETWEEN操作符
    SQL——IN操作符
    SQL——LIKE操作符
    SQL——ORDER BY关键字
    SQL——AND、OR运算符
    顺序执行
    流程控制
    集合类型
    字典类型
    字典 in 操作符
  • 原文地址:https://www.cnblogs.com/zhichaoma/p/7490721.html
Copyright © 2020-2023  润新知