• python学习之列表语法


    1.列表

    1   list.append(obj)
    在列表末尾添加新的对象
    2 list.count(obj)
    统计某个元素在列表中出现的次数
    3 list.extend(seq)
    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
    4 list.index(obj)
    从列表中找出某个值第一个匹配项的索引位置
    5 list.insert(index, obj)
    将对象插入列表
    6 list.pop(obj=list[-1])
    移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
    7 list.remove(obj)
    移除列表中某个值的第一个匹配项
    8 list.reverse()
    反向列表中元素
    9 list.sort([func])
    对原列表进行排序

    python里列表相当于其他程序中的数组

    1.1 取值
    >>> name=["zhangsan","lisi","wangwu","zhaoliu",190,33] >>> name[0] 'zhangsan' #取第一个元素 >>> name[1] 'lisi' >>> name[-1] 33 #取最后一个元素 >>> name[-2] 190

    1.2 取部分值

     >>> name[0:2]
     ['zhangsan', 'lisi']

    >>> name[-5:-1]   #只能从左到右取值
    ['lisi', 'wangwu', 'zhaoliu', 190]
    >>> name[-5:]     #取到最后一个值
    ['lisi', 'wangwu', 'zhaoliu', 190, 33]

    1.3 增、删、改、查列表值

    >>> name.insert(0,"Jasper")  #在指定位置插入数据使用insert
    >>> name
    ['Jasper', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 190, 33]

    >>> name.append("Desperado") #在最后面增加数据使用append
    >>> name
    ['Jasper', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 190, 33, 'Desperado']

    >>> name.remove(190)      #删数据,remove是删除元素的值,与popdel方法不同
    >>> name
    ['Jasper', 'zhangsan', 'lisi', 'wangwu', 'zhaoliu', 33, 'Desperado']

    >>> name.pop(0)     #pop删除元素
    'Jasper'
    >>> name
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 33, 'Desperado']

    >>> del name[-1]      #del删除元素,del可以删除多个连接的元素del name[0:3],删除所有 del name
    >>> name
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 33]

    >>> name[-1]=10000    #改数据指定更新数据的位置及更改的新数据  name[3]="wangwu(admin)"
    >>> name
    ['zhangsan', 'lisi', 'wangwu', 'zhaoliu', 10000]

    1.4 步长

    name=["zhangsan","lisi","wangwu","zhaoliu","xiaosan","xiaosi"]
    print(name[0:-1:2]) #第一个:是打印左边的元素第二个:是右边的元素,2为打印的元素步长,也可以[::2],默认步长 是1


    实际中列表是有很多元素的
    如我想知道在一个列表中有没有Jasper这个元素,使用in
    print("Jasper" in name)
    False

    1.5 统计列表元素个数
    name=[11,23,54,32,23,23,10,64,64,11,11,11,32,11]
    print(name.count(11))

    示例:统计Jasper在列表中的次数
    name=["zhangsan","lisi","wangwu","zhaoliu","xiaosan","xiaosi","Jasper"]
    if "Jasper" in name:
    co=name.count("Jasper")
    print("%s Jasper is in name"%co)
    else:
    print("wu")


    1.6 index从列表中找出某个值第一个匹配项的索引位置
    name=[11,23,54,32,23,23,10,64,64,11,11,11,32,11]
    print(name.index(64))

    示例:统计Jasper出现的次数通过index找出匹配项的位置修改元素
    name=["Jasper","lisi","wangwu","zhaoliu","xiaosan","xiaosi","Jasper"]
    for i in range(name.count("Jasper")): #使用循环统计Jasper出现的次数
        ind=name.index("Jasper")             #使用index索引第一次出现的位置
    name[ind]=123 #修改索引出元素
    print(name)

    运行结果:
    [123, 'lisi', 'wangwu', 'zhaoliu', 'xiaosan', 'xiaosi', 123]


    1.7 合并两个列表元素
    name=["Jasper","lisi","wangwu","zhaoliu","xiaosan","xiaosi","Jasper"]
    name2=[1,2,3,"Jasper"]
    name.extend(name2)
    print(name)
    运行结果:
    ['Jasper', 'lisi', 'wangwu', 'zhaoliu', 'xiaosan', 'xiaosi', 'Jasper', 1, 2, 3, 'Jasper'] #追加到列表后面

    1.8 反转列表元素 reverse

    user=["阿大","阿二","阿三","阿四","小五","小六","小七"]
    user.reverse()
    print(user)
    运行结果:
    ['小七', '小六', '小五', '阿四', '阿三', '阿二', '阿大']

    1.9 排序 sort

    user=["阿大","阿二","阿三","阿四","小五","小六","小七"]
    user.sort()
    print(user)

    num=[3,2,3,4,5,6,7,3]
    num.sort()
    print(num)

    运行结果:

    ['小七', '小五', '小六', '阿三', '阿二', '阿四', '阿大']
    [2, 3, 3, 3, 4, 5, 6, 7]

    #在python3的列表元素中字符串和数据不可以混合排序,python2可以

    1.10 复制列表元素copy

    user=["阿大","阿二","阿三","阿四","小五","小六","小七"]

    user3=user.copy()
    user3[0]="456"
    print(user3)
    print(user)
    运行结果:

    ['456', '阿二', '阿三', '阿四', '小五', '小六', '小七']
    ['阿大', '阿二', '阿三', '阿四', '小五', '小六', '小七']

    #使用copy复制列表与原列表没有关系,使用变量会修改原变量

    user=["阿大","阿二","阿三","阿四","小五","小六","小七"]

    user2=user
    user2[0]="123"
    print(user2)
    print(user)
    运行结果:

    ['123', '阿二', '阿三', '阿四', '小五', '小六', '小七']
    ['123', '阿二', '阿三', '阿四', '小五', '小六', '小七']

    1.11 列表嵌套列表复制修改

    user=["阿大","阿二","阿三",[1,2,3,4,5],"阿四","小五","小六","小七"]
    user[0]="00000"
    user2=user.copy()
    user2[3][1]="abcdefg" #修改元素3(是个列表)中第二个元素
    print("user=",user)
    print("user2=",user2)
    运行结果:

    user= ['00000', '阿二', '阿三', [1, 'abcdefg', 3, 4, 5], '阿四', '小五', '小六', '小七']
    user2= ['00000', '阿二', '阿三', [1, 'abcdefg', 3, 4, 5], '阿四', '小五', '小六', '小七']

    #copy只会复制列表的第一层,列表里的列表不会copy,可以看成是一个软链接,这里修改user2同时user也修改了

    如果想把列表里的列表一同copy过去可以使用copy模块里的deepcopy(深度copy)

    import copy   #导入copy模块
    user=["阿大","阿二","阿三",[1,2,3,4,5],"阿四","小五","小六","小七"]
    user[0]="00000"
    user2=user.copy()
    user2[3][1]="abcdefg"
    print("user=",user)
    print("user2=",user2)

    user3=copy.deepcopy(user) #deepcopy user列表到user3新列表名
    user3[3][2]=11111111111 #修改user3中列表中的列表
    print("user3=",user3)
    运行结果:

    user= ['00000', '阿二', '阿三', [1, 'abcdefg', 3, 4, 5], '阿四', '小五', '小六', '小七']
    user2= ['00000', '阿二', '阿三', [1, 'abcdefg', 3, 4, 5], '阿四', '小五', '小六', '小七']
    user3= ['00000', '阿二', '阿三', [1, 'abcdefg', 11111111111, 4, 5], '阿四', '小五', '小六', '小七']

    #user3修改了列表中的列表,但user里并没有改变,因为使用deepcopy是完全copy整个list

    1.12给列表前加标号

    a=['huqiang','desperado','jack']
    for a,i in enumerate(a):
    print(a,i)
    运行结果:

    0 huqiang
    1 desperado
    2 jack

    默认enumerate是从0开始显示,可以指从编号几开始

    a=['huqiang','desperado','jack']
    for a,i in enumerate(a,1): #加一个逗号及要初始显示的编号
    print(a,i)
    运行结果:

    1 huqiang
    2 desperado
    3 jack

    #split字符转为列表
    a='a+b+c+d'
    print(a.split('+'))

    #tuple列表转为元组
    name=['lisi','46']
    print(tuple(name))
  • 相关阅读:
    UIScrollView设置滑动的距离
    iOS动画效果和实现
    cmd 编码 utf8
    详细的ifcfg-eth0配置详解
    Centos下 Nginx安装与配置
    linux安装目录
    utf8 和 UTF-8 的区别
    后台添加搜索功能讲解
    移动端 禁横向滚动
    PC端 $_SERVER 说明
  • 原文地址:https://www.cnblogs.com/shansongxian/p/6051429.html
Copyright © 2020-2023  润新知