十一、python列表list

十一、python列表list

列表是一种基本的序列数据结构(字符串和元组也属于序列)
列表是一种可变值的数据类型(再次强调数字,字符串,元组是不可变类型)

1.列表的创建

使用中括号括起来,里面的数据称为元素。可以放同类型数据,也可以放不同类型数据,但通常是同类型。

os=["rhel","centos","suse","ubuntu"]
print(os,type(os))

2.列表的下标

os=["rhel","centos","suse","ubuntu"]
for i,j in enumerate(os):
    print(i,j)
	
返回
0 rhel
1 centos
2 suse
3 ubuntu

3.列表的切片,倒序

os=["rhel","centos","suse","ubuntu"]
print(os[::-1]) 	# 通过切片来倒序
os.reverse() 		# 通过reverse操作来倒序,并且是直接改变原数据(因为列表是可变数据类型)
print(os)

4.列表的常见操作

os=["rhel","centos","suse"]
os.append("ubuntu") 		# 在列表最后整体增加一个元素ubuntu
print(os)

os=["rhel","centos","suse"]
os.extend("mac") 		# 在列表最后分散增加元素mac,增加后的结果是'm','a','c'
print(os)

os=["rhel","centos","suse"]
os.insert(2,"windowsxp") 	# 插入到列表,变为第三个,原来的suse则往后移一位
print(os)

os=["rhel","centos","suse"]
os.remove("windows10") 		# 按元素删除
print(os)

os=["rhel","centos","suse"]
os.pop(2)				# 按下标删除
print(os)
还可以使用del os[2]
它们的区别del os是删除整个列表,如果使用下标的话,则一样

os=["rhel","centos","suse"]
os[2]="windows10" 			# 修改第三个元素
print(os)

os=["rhel","centos","suse"]
print(os[0]) 			# 通过下标就可以查询

其它

os=["rhel","centos","suse"]
print(os.index("centos")) 	# 找出centos在os列表里的位置

os=["rhel","centos","suse"]
os.reverse() 			# 反转列表,从左到右的顺序变成了从右到左显示
print(os)

os=["rhel","centos","suse"]
os.sort() 			# 排序列表,按ASCII编码来排序
print(os)

os=["rhel","centos","suse"]
os.clear() 			# 清除列表所有元素,成为空列表,不是删除列表
print(os)

列表合并

list1=["haha","hehe","heihei"]
list2=["xixi","hoho"]
list1.extend(list2) 		# list1+=list2也可以,类似字符串拼接
print(list1)

双列表

name_list=["zhangsan","lisi","wangwu","maliu"]
salary=[18000,16000,20000,15000]
for i in range(name_list.__len__()):
    print(f"{name_list[i]}的月收入为{salary[i]}元")

列表嵌套

emp=[["zhangsan",18000],["lisi",16000],["wangwu",20000],["maliu",15000]]
for i in range(emp.__len__()):
    print(f"{emp[i][0]}的工资是{emp[i][1]}元")
    print("{}的月收入为{}元".format(emp[i][0].ljust(10," "),emp[i][1]))

列表推导式

#格式一:[表达式 for 变量 in 列表]  #注意 in 后面不仅可以放列表,还可以放range()、可迭代对象
正常写法
list1=[]
for i in range(1,6):
    list1.append(i)
print(list1)
推导式写法
li=[]
[li.append(i) for i in range(1,6)]
print(li)



#格式二:[表达式 for 变量 in 列表 if 条件]
正常写法
list2=[]
for i in range(1,100):
    if i%2==1:
        list2.append(i)
print(list2)

list2 = []
[list2.append(i) for i in range(1,10) if i % 2 == 1 ]
print(list2)


posted @ 2023-06-02 09:44  村尚chun叔  阅读(24)  评论(0)    收藏  举报