欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python列表的相关操作

程序员文章站 2022-03-09 18:25:50
...

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]
    
相关标签: 列表