zoukankan      html  css  js  c++  java
  • day4__列表的初识(列表的创建、增删改查、元组、range)

    一、列表的初识

    1、列表的创建

    1】创建一个列表有三种方式:

    第一种: (常用)

    li = [100,'pyton学习',True,[1,2,3]]
    

    第二种:(不常用)

    l1 = list()  # 空列表
    # l1 = list(iterable)  # 可迭代对象
    l1 = list('123')
    print(l1)  # ['1', '2', '3']
    

    第三种 :列表推导式(后面会学到)

    l1 = [i for i in range(1,5)]
    print(l1)  # [1, 2, 3, 4]
    
    2】列表的索引切片
    li = [100,'pyton学习',True,[1,2,3]]
    #索引
    print(li[0],type(li[0]))
    print(li[1],type(li[1]))
    print(li[-1])
    print(li[3])
    
    #切片
    li = [1, 3, 2, "a", 4, "b", 5,"c"]
    # 通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
    l1 = li[0:3]
    print(l1)
    # 通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
    l2 = li[3:6]
    print(l2)
    # 通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
    l4 = li[1:-2:2]
    print(l4)
    
    3】增

    append 追加,给列表的最后面追加一个元素

    li = [1,2,'a']
    li.append(666)
    print(li)
    
    li = ['张三','李四','白龙']
    while 1:
        name = input("请输入新员工的姓名:(Q或者q退出程序)")
        if name.lower() == 'q':
            break
        li.append(name)
        print(li)
        break
    内容输出:
    请输入新员工的姓名:(Q或者q退出程序)mrxinog
    ['张三', '李四', '白龙', 'mrxinog'] 
    

    insert 插入在列表的任意位置插入元素

    li = ['李四','张三','a']
    li.insert(1,'mrxiong')
    print(li)
    

    extend迭代着追加,在列表的最后面迭代着追加一组数据

    li = [1,2,'a']
    li.extend('mrxiong')
    print(li)
    
    li = [1,2,'a']
    li.extend(['oldboy'])
    print(li)
    
    4】删

    pop按照索引去删除

    li = ['女神','吴老师','mrxiong','张三']
    print(li.pop(-2))  #返回的是删除的元素
    print(li)
    输出结果:
    mrxiong
    ['女神', '吴老师', '张三']
    
    li = ['女神','吴老师','mrxiong','张三']
    print(li.pop())  #空格是默认删除最后一个
    print(li)
    输出结果:
    张三
    ['女神', '吴老师', 'mrxiong']
    

    remove 指定元素删除

    li = ['女神','吴老师','mrxiong','张三']
    li.remove('mrxiong')
    print(li)
    输出结果:
    ['女神', '吴老师', '张三']
    
    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    li.remove('mrxiong')   #如出现有重名元组,默认删除从左到右第一个
    print(li)
    输出结果:
    ['女神', '吴老师', 'mrxiong', '张三']
    

    clear()

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    li.clear()
    print(li)
    输出结果:
    []
    

    del

    ​ #按索引来删

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    del li[-1]
    print(li)
    输出结果:
    ['mrxiong', '女神', '吴老师', 'mrxiong']
    

    ​ #按照切片(步长)删除

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    del li[::2]
    print(li)
    输出结果:
    ['女神', 'mrxiong']
    
    5】改

    按照索引来修改

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    li[0] = '哈哈'
    print(li)
    输出结果:
    ['哈哈', '女神', '吴老师', 'mrxiong', '张三']
    

    按照切片修改

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    li[1:2] = '哈哈','叶叶'
    print(li)
    输出结果:
    ['mrxiong', '哈哈', '叶叶', 'one', '吴老师', 'mrxiong', '张三']
    
    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    li[::2] = 'abc'
    print(li)
    输出结果:
    ['a', '女神', 'b', 'mrxiong', 'c']
    
    6】查

    索引查询

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    print(li[1])
    输出结果:
    女神
    

    切片(步长)查询

    li = ['mrxiong','女神','吴老师','mrxiong','张三']
    l1 = li[1:4]
    print(l1)
    输出结果:
    ['女神', '吴老师', 'mrxiong']
    
    li = ["mrxiong","女神","吴老师","mrxiong","张三"]
    l1 = li[::2]
    print(l1)
    

    循环查询

    li = ["mrxiong","女神","吴老师","mrxiong","张三"]
    for i in li:
        print(i)
    输出结果:
    mrxiong
    女神
    吴老师
    mrxiong
    张三
    
    7】列表相加与整数相乘
    l1 = [1,2,3]
    l2 = [4,5,6]
    print(l1+l2)
    输出结果:
    [1, 2, 3, 4, 5, 6]
    
    l1 = [1,2,3]
    l2 = [4,5,6]
    print(l1*3)
    输出结果:
    [1, 2, 3, 1, 2, 3, 1, 2, 3]
    

    练习题:

    列表中追加元素"seven",并输出添加后的列表

     li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
     li.append("serven")
     print(li)
    

    请在列表的第1个位置插入元素"Tony",并输出添加后的列表

     li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
     li.insert(1,"tom")
     print(li)
    

    请修改列表第2个位置的元素为"Kelly",并输出修改后的列表

     li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
     li[2] = "Kelly"
     print(li)
    

    请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。

    li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
    l2=[1,"a",3,4,"heart"]
    print(li+l2)
    

    请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。

    li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
    s = "qwert"
    li.extend(s)
    print(li)
    

    请删除列表中的元素"ritian",并输出添加后的列表

    li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
    li.remove("ritian")
    print(li)
    

    请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表

    li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
    print(li.pop(2))
    print(li)
    

    请删除列表中的第2至4个元素,并输出删除元素后的列表

    li = ["mrxiong","WuSir","ritian","barry","wenzhou"]
    del li[2:4]
    print(li)
    

    2、 列表的嵌套

    将li中的'taobao'变成大写并放回原处

    li = [1,2,'taobao',[1,'mrxiong',3]]
    li[2] = li[2].upper()
    print(li)
    

    给小列表[1,'mrxiong',3]追加一个元素,'python'

    li = [1,2,'taobao',[1,'mrxiong',3]]
    li[3].append('python')
    print(li)
    

    将列表中的'mrxiong'通过字符串拼接的方式在列表中变成'mrxiongsb'

    li = [1,2,'taobao',[1,'mrxiong',3]]
    li[3][1] = li[3][1]+'sb'
    print(li)
    

    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    将列表lis中的"tt"变成大写(用两种方式)。

    ​ 方法一:

    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    lis[3][2][1][0]=lis[3][2][1][0].upper()
    print(lis)
    

    ​ 方法二:

    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    lis[3][2][1][0]= "TT"
    print(lis)
    

    将列表中的数字3变成字符串"100"。

    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    lis[1], lis[3][2][1][1] = 100, 100
    print(lis)
    

    将列表中的字符串"1"变成数字101。

    lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
    lis[3][2][1][2] = 101
    print(lis)
    

    3、元组

    只读列表。存大量的数据,可以索引、切片(步长)操作

    tu = (100,'mrxiong',True,[1,2,3])
    print(tu[0])
    print(tu[3])
    print(tu[:3])
    
    for i in tu:
        print(i)
    

    如上例,虽然元组是不可以修改,查元组里的小列表[1,2,3]里的内容是可以增删改的

    tu = (100,'mrxiong',True,[1,2,3])
    del tu[3][0]
    print(tu)
    输出结果:
    (100, 'mrxiong', True, [2, 3])
    

    注:重要数据,用户名,密码,个人信息,不想让别人改动的一些数据,存在元组中

    元组的拆包,分别赋值

    tu = (1,2,3,4)
    a, b, c, d= tu
    print(a,b,c,d)
    输出结果:1 2 3 4
    

    注:元组的拆包分别赋值,必须要和元组一一对应

    4、range

    类型列表,自定制数字范围的数字列表

    r = range(10)   # 类似于可定议范围数字列表[0,1,2,3,4,5,6,7,8,9,10]
    print(r)
    for i in r:
        print(i)
    
    for i in range(1, 20):
        print(i)
    

    以步长打印1--20的偶数

    for i in range(2, 20, 2):
        print(i)
    

    打印20----1

    for i in range(20, 0, -1):
        print(i)
    

    例:

    #利用for循环,利用range将ll列表的所有索引依次打印出来
    ll = [1,2,3,4,5,'python',5]
    for i in range(len(ll)):
        print(i)
    输出结果:
            0
    	1
    	2
    	3
    	4
    	5
    	6
    
  • 相关阅读:
    GNU make manual 翻译(九十九)
    GNU make manual 翻译( 九十五)
    Shell的 for 循环小例子
    makefile中对目录遍历的小例子
    GNU make manual 翻译(九十三)
    GNU make manual 翻译( 一百)
    GNU make manual 翻译( 九十七)
    GNU make manual 翻译( 九十八)
    mapserver4.8.3 的readme.win32的中文翻译文件
    遥控器编程
  • 原文地址:https://www.cnblogs.com/mr-xiong/p/13150109.html
Copyright © 2011-2022 走看看