Python内置数据类型比较
- 列表是一个有序且可变的集合,允许重复成员。
- 元组是一个有序且不可变的集合,允许重复成员。
- 集合是一个无序和无索引的集合,没有重复的成员。
- 字典是一个无序、可变和索引的集合,没有重复的成员。
- 字符串是 Unicode 编码的不可变序列。
创建列表
列表是用方括号或内置列表函数创建的。
示列:
list_1 = ["banana", "cherry", "apple"]
print(list_1)
# 内置方法list
list_2 = list()
print(list_2)
# 允许包含任何类型的值
list_3 = [5, True, "apple", [1, 2, 3]]
print(list_3)
# 允许重复
list_4 = [0, 0, 1, 1]
print(list_4)
结果:
['banana', 'cherry', 'apple']
[]
[5, True, 'apple', [1, 2, 3]]
[0, 0, 1, 1]
访问元素
您可以通过引用索引号访问列表项。
请注意,索引从 0 开始。
示列:
list_1 = ["banana", "cherry", "apple"]
item = list_1[0]
print(item)
# 你可以通过负数索引,例如-1指向最后一个项目,-2指向倒数第二个项目,以此类推。
item = list_1[-1]
print(item)
结果:
banana
apple
改变元素
只需要引用索引号,并且赋值新值。
list_1 = ["banana", "cherry", "apple"]
list_1[2] = "lemon"
print(list_1)
结果:
['banana', 'cherry', 'lemon']
常用方法
查看Python 文档以查看所有列表方法
示列:
my_list = ["banana", "cherry", "apple"]
# len(): 返回列表元素的数量。
print("Length:", len(my_list))
# append(): 在列表末尾添加新的对象。
my_list.append("orange")
# insert(): 在列表中指定位置插入一个对象。
my_list.insert(1, "blueberry")
print(my_list)
# pop(): 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
item = my_list.pop()
print("Popped item: ", item)
# remove(): 移除列表中指定值的第一个匹配项。
my_list.remove("cherry") # 如果列表中不存在指定值,将引发一个错误。
print(my_list)
# clear() : 清空列表
my_list.clear()
print(my_list)
# reverse() : 反向列表中元素
my_list = ["banana", "cherry", "apple"]
my_list.reverse()
print('Reversed: ', my_list)
# sort() : 对原列表进行排序
my_list.sort()
print('Sorted: ', my_list)
# 用 sorted() 获得一个新列表,并且不影响原列表。
# sorted() 不仅可以用于列表,还可以用于其他可迭代的类型。
my_list = ["banana", "cherry", "apple"]
new_list = sorted(my_list)
# 创建一个列表,其中包含重复的元素
list_with_zeros = [0] \* 5
print(list_with_zeros)
# 列表可以使用 + 运算符进行连接。
list_concat = list_with_zeros + my_list
print(list_concat)
# 字符串转换为列表。
string_to_list = list('Hello')
print(string_to_list)
结果:
Length: 3
['banana', 'blueberry', 'cherry', 'apple', 'orange']
Popped item: orange
['banana', 'blueberry', 'apple']
[]
Reversed: ['apple', 'cherry', 'banana']
Sorted: ['apple', 'banana', 'cherry']
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0, 'banana', 'cherry', 'apple']
['H', 'e', 'l', 'l', 'o']
复制列表
普通的引用性复制,要小心!
示列:
list_org = ["banana", "cherry", "apple"]
# 这只是复制了列表的引用,所以要小心!
list_copy = list_org
# 现在修改的副本也会影响原始列表
list_copy.append(True)
print(list_copy)
print(list_org)
# 使用 copy() 或者 list(x) :复制列表到新变量。
# 分片也可以用于复制列表:list\_copy = list\_org[:]
list_org = ["banana", "cherry", "apple"]
list_copy = list_org.copy()
# list\_copy = list(list\_org)
# list\_copy = list\_org[:]
# 现在修改的副本不会影响原始列表
list_copy.append(True)
print(list_copy)
print(list_org)
结果:
['banana', 'cherry', 'apple', True]
['banana', 'cherry', 'apple', True]
['banana', 'cherry', 'apple', True]
['banana', 'cherry', 'apple']
迭代
迭代是 Python 列表、字典、集合等数据结构的一个重要特性。
示列:
# 列表迭代
list_1 = ["banana", "cherry", "apple"]
for i in list_1:
print(i)
结果:
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**