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']
    
  • 相关阅读:
    NYOJ--1058--dfs--部分和问题
    js中数组的操作方法
    eval()函数
    ES6 对象新增方法 object.is() object.assign()
    vue 中的nextTick
    vue vue-cli创建项目步骤方法
    node express创建项目步骤
    get post put delete
    vue中的状态管理 vuex store
    vue的实例属性$options
  • 原文地址:https://www.cnblogs.com/zcf-blog/p/13184525.html
Copyright © 2011-2022 走看看