python列表的相关操作

python列表相关操作

  • 在列表最后添加元素-append

    name = ['老王','老李','老刘']
    
    
    #对name这个列表 增加一个元素 老丁 记住append是吧元素添加在列表最后
    name.append('老丁')
    print(name)
    
    
    # 运行结果
    ['老王', '老李', '老刘', '老丁']
    
  • 列表在指定位置添加元素-insert

    name = ['老王','老李','老张','老丁']
    
    # 在列表的指定位置添加元素
    name.insert(2,'悟空')
    print(name)
    
    # 运行结果
    ['老王', '老李', '悟空', '老张', '老丁']
    
  • 把一个列表添加在另一个列表里-extend

    name = ['李白','韩信','猴子','花木兰']
    name1 = ['达摩','露娜','公孙丽','诸葛亮']
    
    name.extend(name1)
    print(name)
    
    # 运行结果
    ['李白', '韩信', '猴子', '花木兰', '达摩', '露娜', '公孙丽', '诸葛亮']
    
  • 链接两个列表生成一个新列表

    name = ['李白','韩信','猴子','花木兰']
    name1 = ['达摩','露娜','公孙丽','诸葛亮']
    name2 =name + name1
    print(name2)
    
    # 运行结果 (新生成的地址存着这个列表)
    ['李白', '韩信', '猴子', '花木兰', '达摩', '露娜', '公孙丽', '诸葛亮']
    
  • 固定删除列表的最后一个元素-pop

    name = ['李白','韩信','猴子','花木兰']
    name1 = ['达摩','露娜','公孙丽','诸葛亮']
    name2 =name + name1
    print(name2)
    
    # 固定删除列表最后一位元素
    name2.pop()
    print(name2)
    
    # 运行结果
    ['李白', '韩信', '猴子', '花木兰', '达摩', '露娜', '公孙丽', '诸葛亮']
    ['李白', '韩信', '猴子', '花木兰', '达摩', '露娜', '公孙丽']
    
  • 在列表里删除指定的字符串-remove

    name = ['李白','韩信','猴子','花木兰']
    name1 = ['达摩','露娜','公孙丽','诸葛亮']
    name2 =name + name1
    print(name2)
    
    #删除列表里 公孙丽 这个元素
    #从左往右找删除第一个
    name2.remove('公孙丽')
    print(name2)
    
    # 运行结果
    ['李白', '韩信', '猴子', '花木兰', '达摩', '露娜', '公孙丽', '诸葛亮']
    ['李白', '韩信', '猴子', '花木兰', '达摩', '露娜', '诸葛亮']
    
  • 删除列表里指定的元素-del

    name = ['李白','韩信','猴子','花木兰']
    name1 = ['达摩','露娜','公孙丽','诸葛亮']
    name2 =name + name1
    print(name2)
    
    
    #删除列表里指定的元素
    del name2[3]
    print(name2)
    
    # 运行结果
    ['李白', '韩信', '猴子', '花木兰', '达摩', '露娜', '公孙丽', '诸葛亮']
    ['李白', '韩信', '猴子', '达摩', '露娜', '公孙丽', '诸葛亮']
    
  • 切片后的列表和字符串一样都会生成一个新对象

    name = ['qwe','rty','uio','asd','fgh']
    
    result = name[0:3]
    
    # 打印name
    print(name)
    
    # 打印切片后的列表
    print(result)
    
    # 运行结果
    ['qwe', 'rty', 'uio', 'asd', 'fgh']
    ['qwe', 'rty', 'uio']
    
  • 修改列表元素的值

    name = ['老王','老李','老丁']
    
    print(name)
    # 根据列表索引修改齐值
    
    name[0] = '老赵'
    
    print(name)
    
    # 运行结果
    ['老王', '老李', '老丁']
    ['老赵', '老李', '老丁']
    
  • 查一个值是否在列表里-in-notin

    name = ['老王','老丁','老赵']
    
    # 查一个只是否在这个列表里
    
    print('老张' in name)
    
    print('老张' not in name)
    
    # 运行结果
    False
    True
    
  • 名片管理系统

    #1、打印功能提示
    print("*"*50)
    print(" 名片管理系统v8.6")
    print(" 1:添加一个新名字")
    print(" 2:删除一个名字")
    print(" 3:修改一个名字")
    print(" 4:查询一个名字")
    print("*"*50)
    names = ['张三','李四','王五','老刘','你七','大巴','酒桶']
    print(names)
    print("*"*50)
    while True:
    #2、获取用户的选择
        result = int(input("请输入你的选择:"))
    #3、根据用户的选择,执行相应的功能
        if result == 1:
            name = input("请输入你要添加的名字:")
            num = int(input("请输入你要添加的位置:"))
            names.insert(num,name)
            print(names)
            print("*"*50)
            yes_no = input("是否继续(y/n)")
            if yes_no == 'y':
                continue
            else:
                break
        elif result == 2:
            name = input("请输入你要删除的名字:")
            names.remove(name)
            print(names)
            print("*"*50)
            yes_no = input("是否继续(y/n)")
            if yes_no == 'y':
                continue
            else:
                break
        elif result == 3:
            name = input("请输入你要改的名字:")
            num = names.index(name)
            names[num] = input("请输入你要改成后的名字:")
            print(names)
            print("*"*50)
            yes_no = input("是否继续(y/n)")
            if yes_no == 'y':
                continue
            else:
                break
        elif result == 4:
            name = input("请输入你要查询的名字:")
            if name in names:
                print("他到了。。。")
            else:
                print("没有此人。。。")
            print("*"*50)
            yes_no == input("是否继续(y/n)")
            if yes_no == 'y':
                continue
            else:
                break
        else:
            print("只能输入1-4,感谢亲的配合谢谢。。。。")
            print("*"*50)
    
            
    # 运行结果
    **************************************************
     名片管理系统v8.6
     1:添加一个新名字
     2:删除一个名字
     3:修改一个名字
     4:查询一个名字
    **************************************************
    ['张三', '李四', '王五', '老刘', '你七', '大巴', '酒桶']
    **************************************************
    请输入你的选择:1
    请输入你要添加的名字:李白
    请输入你要添加的位置:0
    ['李白', '张三', '李四', '王五', '老刘', '你七', '大巴', '酒桶']
    **************************************************
    是否继续(y/n)y
    请输入你的选择:4
    请输入你要查询的名字:
    
  • while.for循环遍历列表

    num = [11,22,33,44,55]
    
    #   while遍历列表元素
    i = 0
    while i<len(num):
        print(num[i])
        i+=1
    
    print("*"*50)
    
    
    #   for遍历列表元素
    for temp in num:
        print(temp)
    
    # 运行结果
    11
    22
    33
    44
    55
    **************************************************
    11
    22
    33
    44
    55
    
  • append和extend的区别

    a = [11,22,33,44,55]
    b = [66,77]
    
    #   extend把列表b里的元素一个个提出来放到列表a中
    #   这里已经修改了a的值 这个是没有返回值的
    a.extend(b)
    print(a)
    
    a = [11,22,33,44,55]
    
    #   append把列表b里的元素当成一个整体放到列表a中
    #   这里已经修改了a的值 这个是没有返回值的
    a.append(b)
    print(a)
    
    # 运行结果
    [11, 22, 33, 44, 55, 66, 77]
    [11, 22, 33, 44, 55, [66, 77]]
    
  • 列表方法append和extend注意点

    a = [11,22]
    b = [33]
    
    #这个方法没有返回值
    #这里直接修改了a
    a.append(b)
    print(a)
    
    
    #这个方法有返回值
    a = a.index(11)
    print(a)
    
    
    a = [11,22]
    #这个没有返回值所以 a = None
    a = a.append(b)
    print(a)
    
    
    a = [11,22]
    #这个没有返回值所以 a = None
    a = a.extend(b)
    print(a)
    
    
    # 运行结果
    [11, 22, [33]]
    0
    None
    None
    
  • 列表的排序-sort

    nums = [124124,3521,124,62,3457,234,23,6357,134,436] 
    nums.sort()  #列表从小到大排序
    print(nums)
    nums.sort(reverse=True) #列表从大到小排序
    print(nums)
    
    # 运行结果
    [23, 62, 124, 134, 234, 436, 3457, 3521, 6357, 124124]
    [124124, 6357, 3521, 3457, 436, 234, 134, 124, 62, 23]
    
  • 列表的逆序-reverse

    nums = [124124,3521,124,62,3457,234,23,6357,134,436] 
    #nums.sort()  
    #print(nums)
    nums.reverse() #逆序
    print(nums)
    
    # 运行结果
    [436, 134, 6357, 23, 234, 3457, 62, 124, 3521, 124124]
    
  • 循环中删除元素的bug

    a = [11,22,33,44,55,66]
    #这个是把44漏掉了
    for i in a:
        print(i)
        if i == 33:
            a.remove(i)
    
    
    
    a = [11,22,33,44,55,66]   
    #这个是只删了33 44漏掉了  因为你删除了33 44顶替了33的位置
    for i in a:
        if i == 33 or i == 44:
            a.remove(i)
    print(a)
    
    
    #这是正确的方法
    a = [11,22,33,44,55,66]
    b = []
    for i in a:
        if i == 33 or i == 44:
            b.append(i)
    
    for i in b:
        a.remove(i)
    print(a)
    
    # 运行结果
    11
    22
    33
    55
    66
    [11, 22, 44, 55, 66]
    [11, 22, 55, 66]
    
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

只因为你温柔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值