zoukankan      html  css  js  c++  java
  • Python数据结构之列表

    1、Python列表是Python内置的数据结构对象之一,相当于数组

    2、列表用[] 包含,内有任意的数据对象,每一个数据对象以 ,逗号分隔,每隔数据对象称之为元素

    3、Python列表是一个有序的序列

    4、Python列表支持任意的嵌套,嵌套的层次深度没有限制

    总结:列表是一个Python的数据结构,用[] 来表示,可以存储任何对象的一个有序序列

    作用:存放各种类型的数据,并有序排列

    定义:
    a = list()
    a
    []
    b = []
    b
    []
    c = list('c')
    c
    ['c']
    
    列表的切片和索引
    切片
    标识:冒号,有冒号是切片的象征
    方法:通过坐标去辨识
    
    a = [1,'a','123',{1:2}]
    a[0:4]
    [1, 'a', '123', {1: 2}]
    a[:4]
    [1, 'a', '123', {1: 2}]
    a[0:]
    [1, 'a', '123', {1: 2}]
    a[:]
    [1, 'a', '123', {1: 2}]
    a[:-1]
    [1, 'a', '123']
    
    索引:标识着列表中从0开始的第几项
    a
    [1, 'a', '123', {1: 2}]
    a[0]
    1
    列表方法
    1、增
    append:往列表中添加元素,该元素可以是任何形式的数据结构或者对象,添加的对象作为列表中的一个元素,放到最后一位
    
    a = ['1']
    a.append('1')
    a
    ['1', '1']
    a.append(['2'])
    a
    ['1', '1', ['2']]
    a.append({1:2})
    a
    ['1', '1', ['2'], {1: 2}]
    
    extend:用于在列表末尾一次性追加另一个序列中的多个值,不是把对象完整的添加,而是把其中每一项拿出来
    
    注意:有的说extend只能是列表,这种说法不对,可以是序列式的数据结构
    a = []
    b = ['1']
    a.extend(b)
    a
    ['1']
    a.extend(a)
    a
    ['1', '1']
    a.extend('m')
    a
    ['1', '1', 'm']
    a.extend((1,2))
    a
    ['1', '1', 'm', 1, 2]
    a.extend([9,'c'])
    a
    ['1', '1', 'm', 1, 2, 9, 'c']
    
    
    extend和append区别
    a = ['1']
    b,c = [],[]
    b.append(a)
    b
    [['1']]
    c.extend(a)
    c
    ['1']
    
    append:把整体添加进来
    extend:把每一项添加进来
    
    
    insert:两个参数,一个是insert的位置,第二个是insert的元素
    a = ['s',3,4]
    a.insert(2,'x')
    a
    ['s', 3, 'x', 4]
    a.insert(2,'y')
    a
    ['s', 3, 'y', 'x', 4]
    
    
    删
    remove:该方法没有返回值但是会移除两种中的第一个匹配项
    a = [1,2,3]
    a.remove(2)
    a
    [1, 3]
    
    
    pop:从列表移除并返回移除的元素,默认移除最后一个,如果指定第几个,便移除第几个
    a = ['d','s','j']
    a.pop(1)
    's'
    a
    ['d', 'j']
    a.pop()
    'j'
    a
    ['d']
    
    知识扩展
    堆栈:先进后出,通过pop()实现
    队列:先进先出,通过pop(0)实现
    
    改
    a = [1,2,3]
    a[1]=9
    a
    [1, 9, 3]
    
    查
    1、索引
    2、通过index去进行查询
    3、count计算列表中元素的数量
    a
    [1, 9, 3]
    a.index(3)
    2
    a.append(9)
    a
    [1, 9, 3, 9]
    a.count(9)
    2
    a.index(9)
    1
    a.index(9)
    1
    列表的排序
    sort:列表本身排序
    a = [1,4,2,4]
    a.sort()
    a
    [1, 2, 4, 4]
    
    a.sort(reverse=True)
    a
    [4, 4, 2, 1]
    sorted(a)
    [1, 2, 4, 4]
    a
    [4, 4, 2, 1]
    
    sort与sorted区别
    1、sort是列表方法,sorted是内置函数对一个序列数据的方法
    2、sort改变了列表本身,sorted不改变数据结构本身
    
    反转
    a
    [4, 4, 2, 1]
    a.reverse()
    a
    [1, 2, 4, 4]
    
    列表循环(两种循环方式,非常重要)
    
    for item in a :
        print item
    
    
    for index,value in enumerate(a):
        print index.item
    
    题目:对于列表a=[2, 8, 1, 33, 43, 9, 3],它的索引偶数项加1,输出新的列表
    
    a = [2, 8, 1, 33, 43, 9, 3]
    
    b = []
    
    for item in a:
        if a.index(item) % 2 == 0:
            b.append(item + 1)
        else:
            b.append(item)
            
    print(b)
    
    
    a = [2, 8, 1, 33, 43, 9, 3]
    
    b = []
    
    for index,value in enumerate(a):
        if index % 2 == 0:
            b.append(value+1)
        else:
            b.append(value)
    
    print(b)

     

    列表推导式
    
    格式: [表达式 for item1 in 序列1 ... for itemN in 序列N if 条件表达式]
    作用: 一句话完成:在循环遍历中把满足某个条件的项取出来。
    
    列出10以内的偶数
    a = list(range(1,11))
    
    s = [x for x in a if x % 2 == 0]
    print(s)

  • 相关阅读:
    Vertica的这些事(九)——-vertica存储统计信息
    Vertica的这些事(八)——-Vertica-管理
    Vertica的这些事(六)——-vertica中group-by-和join-语句的优化
    Vertica的这些事(五)——-谈谈vertica的flex-table
    Vertica的这些事(四)——-vertica加密数据
    Vertica的这些事(三)——Vertica中实现Oracle中的ws_concat功能
    Vertica的这些事(二)——SQL-Server、Oracle、MySQL和Vertica数据库常用函数对比
    Docker_安装和卸载(2)
    Docker_简介(1)
    Jenkins_创建git任务(3)
  • 原文地址:https://www.cnblogs.com/hellojackyleon/p/8545611.html
Copyright © 2011-2022 走看看