如何定义一个列表呢?
列表名 = [列表项1, 列表项2 , ·····, 列表项n]
照此格式,定义一个列表users:
# 存储用户名单
users = ["Sam", "Bobby", "Nancy", "Xiao Ming"]
1.查看查找列表项
要查看指定索引的列表项,可以:
print(users[0])
这里简单讲一下Python列表的索引有什么要注意。
- 不要查看超出元素数量的索引,否则会报错。
- Python列表的索引是从0开始。
- 用insert时插入索引不要超过列表项,否则默认加到列表末尾。
当然,如果想获取指定范围内的所有列表项,就需要切片:
print(users[0:3])
[0:3]是读取0~3索引的所有列表项,不包括结束索引,也就是获取索引为0,1,2的列表项,结果返回列表。
如何查询一个元素是否在列表内:
users = ["Sam", "Bobby", "Nancy", "Xiao Ming"]
if "Sam" in users:
print("Sam用户存在")
else:
print("Sam用户不存在")
结果应该是:
Sam用户存在
要找到列表元素的索引时,可以使用index函数:
# 返回Bobby的索引
user_id = users.index("Bobby")
2.加入新列表项
在列表末尾加入新的列表项,我们需要使用addend函数,上代码:
users.append("Xiao Hong")
可是,如果我们要在指定索引前加入列表项,就得用到insert函数了:
users.insert(2, "Xiao Hong")
2 是我们要插入的索引位置,"Xiao Hong"是我们要插入的数据。
3.合并列表
在Python中,是可以合并两个列表的,用+即可。
users_1 = ["Sam", "Bobby"]
users_2 = ["Nancy", "Xiao Ming"]
# 合并
users_3 = users_1 + users_2
当然如果想省下第三个存储空间(上方代码是users_3),可以使用extend函数:
users_1 = ["Sam", "Bobby"]
users_2 = ["Nancy", "Xiao Ming"]
users_2.extend(users_2)
这样,Python会自动将users_1的内容加入users_2的列表中。
4.修改列表元素
修改,需要指定修改个索引的列表项,再赋新值:
users[0] = "Xiao Gang"
5.删除列表元素
remove函数帮我们删除符合条件的第一个元素:
# 存在两个"Xiao Ming"
users = ["Nancy", "Xiao Ming", "Xiao Ming"]
users.remove("Xiao Ming")
print(users)
输出:
[“Nancy”, “Xiao Ming”]
看的出来,remove方法只会删除第一个"Xiao Ming"呢。
pop函数可以指定某个索引的列表项进行删除,并返回删除的元素。
users = ["Sam", "Bobby"]
user = users.pop(1)
print(user)
输出:
Bobby
Python还有一个关键字del,能帮助我们删除指定索引的列表,但是它不返回删除的值:
users = ["Sam", "Bobby"]
del users[0]
del还可以删除指定范围内的列表项:
users = ["Sam", "Bobby", "Nancy", "Xiao Ming"]
del users[0:2]
6.遍历列表
可以使用for循环来实现:
users = ["Sam", "Bobby"]
print("用户:")
for user in users:
print(user)
输出,
用户:
Sam
Bobby
7.数字列表排序
这里有一个数字列表:
numbers = [32, 24, 5, 8, 111, 222, 1312]
sort函数可以用来进行排序,它有一个参数reverse:
# 升序排序
numbers.sort(reverse=False)
# 降序排序
numbers.sort(reverse=True)
指定不同的参数可以进行不同的排序。
还有一个排序函数:sorted函数。它有两个参数,一个是需要排序的列表,还有升序降序的布尔值:
# 升序排序
new_numbers_1 = sorted(numbers, reverse=False)
# 降序排序
new_numbers_1 = sorted(numbers, reverse=True)
注意:sort是在原来的列表上进行排序,而sorted会更据参数返回一个已经排序好的列表。