文章目录
- 列表
- 已发布
- 列表的基本操作
- 增
- 删
- 改
- 查
- 排序
- 列表实例练习
列表
已发布
- python判断语句
- python循环语句
- python之列表list
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()
结果如下图所示: