zoukankan      html  css  js  c++  java
  • 06 Python学习之列表-list

    列表是用中括号扩起来,以逗号分隔

    列表的格式:
    name = ['Tom', 'Dave', 'lily']

    列表值的查询和修改:

    in 判断一个值是否在列表中

    names = ['Tom', 'Dave', 'Lily']
    print('Tom' in names)			# bool值为True说明在列表中
    

    运行结果:

    True
    

    从列表中取值

    从列表中取值,我们可以用下标的方法,如果要取全部的值我们可以用for循环

    例1:

    names = ['Tom', 'Dave', 'Lily']
    print(names[2])
    

    运行结果:

    Lily
    

    例2:

    names = ['Tom', 'Dave', 'Lily']
    for name in names:
        print(name)
    

    运行结果:

    Tom
    Dave
    Lily
    

    修改列表的值

    修改列表的值也是用下标,直接赋值即可

    例1:

    names = ['Tom', 'Dave', 'Lily']
    print('修改前:', names)
    names[1] = 'Tomas'
    print('修改后:', names)
    

    运行结果:

    修改前: ['Tom', 'Dave', 'Lily']
    修改后: ['Tom', 'Tomas', 'Lily']
    

    列表的常用方法:

    append

    append 用于向列表添加内容,添加到列表的尾部

    例1:

    names = ['Tom', 'Dave', 'Lily']
    names.append('Tomas')
    print('添加后的列表内容是:', names)
    

    运行结果:

    ['Tom', 'Dave', 'Lily', 'Tomas']
    

    clear

    清空列表的内容,使列表称为一个空列表,没有任何元素

    例1:

    names = ['Tom', 'Dave', 'Lily']
    names.clear()
    print('列表内容是:', names)
    

    运行结果:

    列表内容是: [ ]
    

    count

    count 统计给定元素在列表中的个数
    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony', 'Tom']
    count = names.count('Tom')
    print('Tom在列表中的个数是:', count)
    

    运行结果:

    Tom在列表中的个数是: 2
    

    copy

    copy是复制一个已存在的列表,并返回复制的列表,这个列表是浅复制,即如果列表的元素是引用类型,只复制地址,而不会将引用的指向复制,深浅复制查看后面内容

    例1:

    names = ['Tom', 'Dave', 'Lily']
    copy_names = names.copy()
    print('复制的列表内容是:', copy_names)
    

    运行结果:

    复制的列表内容是: ['Tom', 'Dave', 'Lily']
    

    extend

    将一个列表加入另一个列表中,相当于 list1 + list2

    例1:

    names = ['Tom', 'Dave', 'Lily']
    new_names = ['Tomas', 'Tony']
    names.extend(new_names)				# 将new_names列表的内容,加入到names列表中
    print('扩展后的列表内容是:', names)
    

    运行结果:

    列表内容是: ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    

    例2:

    names = ['Tom', 'Dave', 'Lily']
    new_names = ['Tomas', 'Tony']
    print('相加后的列表内容是:', names + new_names)
    

    运行结果:

    相加后的列表内容是:['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    

    index

    获取元素的下标

    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    index = names.index('Dave')
    print('Dave的下标是:', index)
    

    运行结果:

    Dave的下标是:1
    

    insert

    在指定位置向列表插入内容,插入需要知道要插入位置的下标
    语法:
    s.insert(index, value)

    例1:

    names = ['Tom', 'Dave', 'Lily']
    names.insert(1, 'Tomas')				# 在下标为 1 的位置插入
    print('插入后的列表是:', names)
    

    运行结果:

    插入后的列表是:['Tom', 'Tomas', 'Dave', 'Lily']
    

    pop

    从列表中,删除一个指定下标处的元素,如果不指定下标,默认是最后一个,如果下标不存在,会报 IndexError 错误
    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    ret = names.pop()
    print('删除后的列表是:', names)
    print('删除的元素是:', ret)
    

    运行结果:

    删除后的列表是: ['Tom', 'Dave', 'Lily', 'Tomas']
    删除的元素是: Tony
    

    remove

    remove删除指定的内容,如果内容不存在报 ValueError 错误

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    names.remove('Lily')
    print('删除后的列表是:', names)
    

    运行结果:

    删除后的列表是: ['Tom', 'Dave', 'Tomas', 'Tony']
    

    reverse

    reverse是将列表逆序显示,再次逆序将还原为未逆序前的状态
    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    names.reverse()
    print('逆序后的列表内容是:', names)
    

    运行结果:

    逆序后的列表内容是: ['Tony', 'Tomas', 'Lily', 'Dave', 'Tom']
    

    sort

    sort对列表按ASCII表顺序进行排序,排序后会改变原列表的顺序, sort有两个关键字参数:
    1、key:指定排序规则,默认是None
    2、reverse:是否逆序,默认是False

    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    print('排序前列表顺序是:', names)
    names.sort()
    print('排序后列表顺序是:', names)
    

    运行结果:

    排序前列表顺序是: ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    排序后列表顺序是: ['Dave', 'Lily', 'Tom', 'Tomas', 'Tony']
    

    例2:

    names = ['Tom', 'Dave', 'Lily', 'tom', 'Tony']
    names.sort(key=str.lower)
    print('指定key排序后是:', names)
    
    names = ['Tom', 'Dave', 'Lily', 'tom', 'Tony']
    names.sort()
    print('不指定key排序后是:', names)
    

    运行结果:

    指定key排序后是: ['Dave', 'Lily', 'Tom', 'tom', 'Tony']
    不指定key排序后是: ['Dave', 'Lily', 'Tom', 'Tony', 'tom']
    

    列表的切片

    指定开始和结束位置切片

    指定位置切片,左闭右开,即结果中包含start位置的元素,不包括end处的元素
    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    sub_name = names[1:3]
    print(sub_name)
    

    运行结果:

    ['Dave', 'Lily']
    

    指定开始不指定结束位置切片

    不指定结束位置,即切到列表末尾

    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    sub_name = names[2:]
    print(sub_name)
    

    运行结果:

    ['Lily', 'Tomas', 'Tony']
    

    指定不指定开始,指定结束位置切片

    不指定开始位置,即从列表第一个元素开始

    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    sub_name = names[:3]
    print(sub_name)
    

    运行结果:

    ['Tom', 'Dave', 'Lily']
    

    指定切片步长

    指定步长可以按照步长设置进行取出相应元素

    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    sub_name = names[::2]
    print(sub_name)
    

    运行结果:

    ['Tom', 'Lily', 'Tony']
    

    切片复制列表

    不指定开始和结束位置,并且步长为1时(步长为 1 ,可以省略),即复制列表
    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    sub_name = names[:]			# 相当于复制列表
    print(sub_name)
    

    运行结果:

    ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    

    del

    del删除列表元素:
    例1:

    names = ['Tom', 'Dave', 'Lily', 'Tomas', 'Tony']
    del names[::3]		# 从第一个开始每隔3个元素删除一个,因为步长为3
    print(names)
    

    运行结果:

    ['Dave', 'Lily', 'Tony']
    

    特殊用法

    用乘法重复列表内容

    例1:

    names = ['Tom', 'Dave', 'Lily']
    names *= 3
    print(names)
    

    运行结果:

    ['Tom', 'Dave', 'Lily', 'Tom', 'Dave', 'Lily', 'Tom', 'Dave', 'Lily']
    
  • 相关阅读:
    Get-CrmSetting返回Unable to connect to the remote server的解决办法
    Dynamics 365中的常用Associate和Disassociate消息汇总
    Dynamics 365 Customer Engagement V9 活动源功能报错的解决方法
    Dynamics Customer Engagement V9版本配置面向Internet的部署时候下一步按钮不可点击的解决办法
    Dynamics 365检查工作流、SDK插件步骤是否选中运行成功后自动删除系统作业记录
    注意,更改团队所属业务部门用Update消息无效!
    Dynamics 365的审核日志分区删除超时报错怎么办?
    Dynamics 365使用Execute Multiple Request删除系统作业实体记录
    Dynamics 365的系统作业实体记录增长太快怎么回事?
    Dynamics CRM日期字段查询使用时分秒的方法
  • 原文地址:https://www.cnblogs.com/zcf-blog/p/13184525.html
Copyright © 2011-2022 走看看