zoukankan      html  css  js  c++  java
  • Lesson 2#01 列表

    列表 list

    列表是Python中最基本的数据结构。序列中的每个元素都会分配索引,从左至右第一个索引是0,第二个索引是1,依此类推。

    列表的创建:

    创建一个列表,只需要把用逗号分隔的不同的数据使用方括号括起来即可。例如:

    注意:

    列表中的值可以是数字,可以是字符,也可以是变量,
    列表中的数据可以重复
    name = "suyp"
    age = 18
    sex = "man"
    list = [1,2,3,4,5,6,7,"a","b","c","d",'e","f","g',1,2,3,4,5,6,7,name,age,sex]
    # 列表中的值可以是数字,可以是字符,也可以是变量,
    # 列表中的数据可以重复

    列表的索引:

    索引用来快速访问列表中值

    name = "suyp"
    age = 18
    sex = "man"
    list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
    #索引用来访问列表中的值
    #此列表中的索引,从左至右分别是0,1,2,3,4,5,6,7,8,9,10,11
    #此列表中的索引,从右至左分别是 -1,-2,-3,-4,-5 ,-6,-7,-8,-9,-10,-11,-12

    列表的嵌套:

    一个列表中可以包含另外一个列表,例如

    name = "suyp"
    age = 18
    sex = "man"
    list1 = [1,2,3,"a","b","c",1,2,3,name,age,sex]
    list2 = ["suyp","liuzhen","lirs",list1[:]] # list2 中嵌套了list列表
    list3 = ["machao","wangcc","wangmeng",["yinsj","weill","liyl"]] #list3中嵌套了一个新的列表

    列表的查询和切片:

    通过列表的索引查询和切片

    切片语法:sequence[start : end : step]

    sequence:序列

    step:步长

    name = "suyp"
    age = 18
    sex = "man"
    list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
    print(list[0])  #查询单个值
    print(list[-1]) #查询列表的最后一个值
    print(list[:])  #查询整个列表
    print(list[0:2])    #列表的切片:从左至右查询两个值,顾头不顾尾
    print(list[-5:-1])  #列表的切片:查询列表的最后4个值,顾头不顾尾
    print(list[-5:])    #列表的切片:查询列的最后5个值
    print(list[3:6])    #列表的切片:从列表中间切片

    查询列表中值的索引值和重复值:

    name = "suyp"
    age = 18
    sex = "man"
    list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
    print(list.index("c"))  #快速查找列表中某个值的索引
    print(list.count(1))    #快速查找列表中某个值得数量

    列表查询的步长:

    name = "suyp"
    age = 18
    sex = "man"
    list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
    print(list[0:7:2])  #列表数据0-7,以2个步长进行取值,步长不能为0,默认为1
    print(list[:7:2])   #和上面的print语句意思相同
    print([list[::2]])  #全部列表数据,以2个步长进行取值

    列表的修改:

    name = "suyp"
    age = 18
    sex = "man"
    list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
    list.append("lirs") #追加,追加只在列表最后一位追加
    list.insert(0,"liuzhen")    #在列表的第一位之前插入一个数据
    list.insert(2,"machao")     #在列表的任意位置插入一个数据
    list[5] = "wangcc"      #修改列表中的某个值
    list[6:8] = "Gold"      #批量修改,修改过程中,如果位数不够,多余的数值会以插入的形式写入列表中

    列表的删除:

    pop()的用法

    pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值,返回值可以付给变量
    语法:list.pop(obj=list[-1])
    name = "suyp"
    age = 18
    sex = "man"
    list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
    nnn = list.pop()    # pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值,返回值可以付给变量
    print("列表删除的内容:",nnn)
    print("列表当前的内容:",list)

    remove() 用于删除列表中存在的任意值,

    注意:

    1、该函数的参数是列表中的真实值,不是索引;

     2、如果要删除的值在列表中有重复值,只删除从左起第一个。

    name = "suyp"
    age = 18
    sex = "man"
    list = [1,2,3,"a","b","c",1,2,3,name,age,sex]
    list.remove(3)      #删除列表中的指定值
    print(list)

    del :从全局范围删除列表中的数据,可以是列表中的某个索引对应的值,也可以是整个列表

    del list[5]     #删除指定列表中的指定索引对应的值
    del list[1:5]       #批量删除
    del list        #删除list 列表

     列表排序:

    列表排序的规则是按照ASCII码表的顺序进行排序的。

    单个方法支持同一种类的字符排序,int 和 str 两个类型的字符不能在一个列表中进行排序

    list.sort() # 列表排序,正序,不支持int 和 str 一起进行排序
    list.reverse()#列表排序,倒序,不支持int 和 str 一起进行排序
    list.extend()# 列表扩展,和 两个列表直接相加是一个效果,list1 + list2 
    list.clear() # 清空列表

     练习:1:创建一个空列表,命名为names,往里面添加old_driver,rain,jack,shanshan,peiqi,black_girl 元素

    # 方法一:赋值,直接赋值会直接替换原列表中的内容为新的值。
    names = [ ]
    names = ["old_driver","rain","jack","shanshan","peiqi","black_girl"]
    # 方法二: .append 方法,在列表的最后插入一个新的元素
    names = []
    names.append("old_driver")
    names.append("rain")
    names.append("jack")
    names.append("shanshan")
    names.append("peiqi")
    names.append("black_girl")
    # append方法一次只能插入一个新的元素
    print(names)
    #方法三:extend方法,在原有列表的基础上追加一个新的列表,相当于两个列表相加
    names = []
    names2 = ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'black_girl']
    names.extend(names2)
    print(names)

    练习2:往names列表black_girl前面插入一个alex

    #方法1:insert方法,在已知的元素索引前直接插入,每次只能插入一个元素
    names = ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'black_girl']
    names.insert(-1,"alex")
    print(names)
    #方法2:如果列表很大,可以先使用index查出指定元素的索引,根据索引再插入
    names = ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'black_girl']
    number = names.index("black_girl")
    names.insert(number,"alex")
    print(names)

    练习3:把names列表中的“shanshan”改成中文“姗姗”

    names = ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'black_girl']
    print(names)
    names[3] = "姗姗"
    print(names)

    练习4:往names列表rain的后面插入一个子列表["oldboy","oldgirl"]

    #insert 方法,在指定索引前面加入一个元素
    names = ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'black_girl']
    print(names)
    names2 = ["oldboy","oldgirl"]
    number = names.index("rain")
    names.insert(number+1,names2)
    print(names)

    练习5:返回peiqi的索引值

    names = ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'black_girl']
    
    print(names.index("peiqi"))

    练习6:创建新列表[1,2,3,4,2,5,6,2],合并入names列表

    names = ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'black_girl']
    nums = [1,2,3,4,2,5,6,2]
    names.extend(nums)
    print(names)

    练习7:取出names列表中索引4-7的元素

    names = ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'black_girl']
    number = names.index("black_girl")
    names.insert(-1,"alex")
    nums = [1,2,3,4,2,5,6,2]
    names.extend(nums)
    print(names)
    print(names[4:7]) #列表切片,顾头不顾尾

    print(names[2:10:2]) #列表切片,步长为2
     

    练习8:取出names列表中最后3个元素

    names = ['old_driver', 'rain', 'jack', 'shanshan', 'peiqi', 'alex', 'black_girl', 1, 2, 3, 4, 2, 5, 6, 2]
    print(names[-3:])

    练习10:循环打印names列表,打印每个元素的索引值和元素

    count = 0
    for i in names:
        print(count,i)
        count += 1
  • 相关阅读:
    PHP 超级全局变量
    PHP 魔术变量
    PHP 变量
    Thinkphp 模板中常用的系统变量总结
    PHP $GLOBALS超全局变量分析
    php使用curl的post提交数据和get获取网页数据的方法总结
    php获取客户端真实ip地址的三种方法
    Jquery 【on事件】
    ptyhon【递归练习】
    C#中的线程
  • 原文地址:https://www.cnblogs.com/wudtime/p/8542984.html
Copyright © 2011-2022 走看看