[基础语法] python语法之列表的基本操作

列表

已发布

python 的数据格式主要有列表、字典、元组、集合。其中列表的使用最为广泛。

任何一种数据格式的使用都离不开增、删、改、查四个操作。列表除了这四个操作之外,又多了一个排序的操作。
python语言中的list与其他语言中的list不一样,其他语言中的list要求元素的数据类型是一致的,而python中,列表中元素的类型不仅可以不一致,还可以进行嵌套。

列表的基本操作

向列表中增加元素有三个方法可以调用:

  • append(obj) :向原列表的最后增加元素,不管参数obj是什么,都是作为一个元素增加到列表的最后
  • extend(obj):把参数obj的每一个元素按序逐一增加到原列表的后面,参数obj是列表
  • insert(pos,obj):把参数obj作为一个元素添加到下标为pos的位置
def add_ele():
    mylist = ["使用append增加元素", "可以不同类型", ["12", "33"]]  # 列表中元素的类型可以不一致,并且可以嵌套
    print("--append 初始元素--")
    print(mylist)
    mylist.append("第一次增加元素")  # 向列表的最后增加一个字符串
    print("--第一次增加一个字符串--")
    print(mylist)
    mylist.append(["增加一个元素","这个元素是一个列表", "第二次增加"])  # append增加的是一个元素,这次增加把一个列表当成一个元素增加到mylist的最后
    print("--第二次增加一个列表--")
    print(mylist)
    
    mylist = ["使用extend合并 两个列表", "可以不同类型", ["12", "33"]]
    print("--extend 初始元素--")
    print(mylist)
    print("--合并两个列表--")
    mylist.extend(["我是后来加上的","我是逐个元素增加到上个列表的后面"])
    print(mylist) # 合并两个列表

    mylist = ["使用insert", "根据下标在指定的位置增加元素", "指定位置之后的元素都向后移动"]
    print("--insert 初始元素--")
    print(mylist)
    print("在下标为1的位置,增加元素")
    mylist.insert(1, "我是新增的")  # 在指定的位置增加元素
    print(mylist)


if __name__ == "__main__":
    add_ele()

结果如下图所示:
在这里插入图片描述

删除操作有主要有三种:

  • del :根据下标删除指定的元素
  • pop(): 删除最后一个元素,并将要删除的元素返回
  • remove(obj):根据内容,删除相匹配的第一个元素
def del_ele():
    mylist_2 = ["111", 222, "333", "444", "我是重复的", "666", "我是重复的", ["我是列表", "我是列表"], "我是最后一个"]
    print("--初始元素--------------------",end="\t")
    print(mylist_2)
    del mylist_2[3]  # 删除下标为3的元素
    print("--删除下标为3的元素-------------",end="\t")
    print(mylist_2)
    print("--最后一个元素-----------------",end="\t")
    print(mylist_2.pop())  # 删除最后一个元素
    print("--删除最后一个元素--------------",end="\t")
    print(mylist_2)
    mylist_2.remove("我是重复的")  # 根据元素内容删除相匹配的第一个元素
    print("-根据元素内容删除相匹配的第一个元素-",end="\t")
    print(mylist_2)


if __name__ == "__main__":
    del_ele()

结果如下图所示:
在这里插入图片描述

修改元素很简单,直接看代码就行。

def alert_ele():
    mylist_2=["我是第一个", "我是第二个", "我是第三个"]
    print("--初始元素--------------------", end="\t")
    print(mylist_2)
    mylist_2[0] = "我修改了"
    print("--修改了下标为0的元素-----------", end="\t")
    print(mylist_2)


if __name__ == "__main__":
    alert_ele()

结果如下图所示:
在这里插入图片描述

查询有三种:

  • def fun():自己写查询的方法
  • index(obj, start, end):在指定的范围[start, end)内查询元素obj是否出现
  • count(obj):统计某个元素obj出现的个数
def search_ele():
    sea_list = ["s", "e", "a", "h", "d", "e"]
    sea_ele = "e"
    # 这是自己写的方法
    if sea_ele in sea_list:
        print("True")
    else:
        print("False")
    print(sea_list.index(sea_ele, 1, 5))  # 在下标[1, 5)内查找元素,查到,就返回下标,否则,报错。!!
    print(sea_list.count(sea_ele))  # 统计元素出现的个数

if __name__ == "__main__":
    search_ele()

结果如下图所示:
在这里插入图片描述

排序

排序有三种状态:

  • 反转 reverse()
  • 升序 sort()
  • 降序 sort(reverse=True)
def sort_list():
    sort_list = [1, 2, 4, 3, 6, 5]
    print("--初始状态--------------------", end="\t")
    print(sort_list)
    sort_list.reverse()      # 反转
    print("--反转状态--------------------", end="\t")
    print(sort_list)
    sort_list.sort()  # 升序
    print("--升序状态--------------------", end="\t")
    print(sort_list)
    sort_list.sort(reverse=True)  # 降序
    print("--降序状态--------------------", end="\t")
    print(sort_list)

if __name__ == "__main__":
    sort_list()

结果如下图所示:
在这里插入图片描述

列表实例练习

把14个老师,随机分配到4个办公室,并显示出来

def list_demo():
    import random
    teachers = ["a", "b", "c", "d", "e", "f", "g", "h","i", "j", "k", "l", "m", "n"]
    office = [[], [], [], []]

    for ele in teachers:
        i = random.randint(0, 3)  # [0, 1, 2]
        office[i].append(ele)

    for i, eles in enumerate(office):
        print("第%d个办公室:" % (i+1), end="\t"*2)
        for ele in eles:
            print(ele, end="\t")
        print("\n")


if __name__ == "__main__":
    list_demo()

结果如下图所示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值