Python:列表的基本学习

如何定义一个列表呢?

列表名 = [列表项1, 列表项2 , ·····, 列表项n]

照此格式,定义一个列表users:

# 存储用户名单
users = ["Sam", "Bobby", "Nancy", "Xiao Ming"]

1.查看查找列表项

要查看指定索引的列表项,可以:

print(users[0])

这里简单讲一下Python列表的索引有什么要注意。

  1. 不要查看超出元素数量的索引,否则会报错。
  2. Python列表的索引是从0开始。
  3. 用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会更据参数返回一个已经排序好的列表。

猜你喜欢

转载自blog.csdn.net/wangzirui32/article/details/113005547