nums = [1, 2, 3, 4, 5]
nums2 = []
list() #该函数可以定义一个列表
list([1, 2, 3, 4, 5]) #将其他的(容器)转换为列表
元素(element): 容器中的每一个值
列表中元素的访问
list[下标] #从0开始的下标
list_data = [1, 2, 3, 4]
for item in list_data:
print(item)
list_data1 = [1, 2, 3, 4]
i = 0
while i < len(list_data1):
print(list_data1[i])
i += 1
append(self, *args, **kwargs):将元素添加到列表的末尾位置且无返回值。list_data = [1, 2, 3, 4, 5] list_data.append(6) print(list_data)
insert(self, *args, **kwargs):将元素添加到列表的指代位置且无返回值。list_data = [1, 2, 3, 4, 5] list_data.insert(2,3) print(list_data)
extend(self, *args, **kwargs):通过添加可迭代对象中的元素来扩展原列表且无返回值。list_data = [1, 2, 3, 4, 5] list_data1 = [6, 7, 8, 9, 10] list_data.extend(list_data1) print(list_data)
pop(self, *args, **kwargs):删除索引处的元素(默认最后一个元素)且有返回值。如果列表为空或索引超出范围,则引发索引错误。list_data = [1, 2, 3, 4, 5] list_data.pop(0) print(list_data.pop(0)) #返回值 print(list_data)
remove(self, *args, **kwargs):删除第一个出现的值。如果值不存在,则引发值错误且不返回任何值list_data = [1, 2, 5, 3, 4, 5] list_data.remove(5) print(list_data)
index(self, *args, **kwargs):返回元素对应的第一个位置,如果值不存在,则引发值错误。list_data = [1, 2, 5, 3, 4, 5] print(list_data.index(5))
clear(self, *args, **kwargs):从列表中删除所有项目且无返回值。list_data = [1, 2, 5, 3, 4, 5] list_data.clear() print(list_data)
count(self, *args, **kwargs):统计元素出现的次数且有返回值。list_data = [1, 2, 5, 3, 4, 5] print(list_data.count(5))
reverse(self, *args, **kwargs):翻转元素的顺序且无返回值。list_data = [1, 2, 5, 3, 4, 5] list_data.reverse() print(list_data)
sort(self, *args, **kwargs):对列表进行排序且无返回值。list_data = [3, 1, 5, 3, 6, 5] list_data.sort() print(list_data)
copy(self, *args, **kwargs):浅拷贝列表数据且有返回值。list_data = [3, 1, 5, 3, 6, 5] list_data.copy() print(list_data)
list_data = [1, 1.2, 1 + 2j, "张三", True, b'123', None, {1, 2}, [3, 4], {5:6, 7:8}, (9, 10)]
for i, l in enumerate(list_data):
print(i, l)
浅拷贝:对原对象的值的拷贝,地址仍是一个指针指向原对象的地址,浅拷贝或者原对象的值发生变化,那原对象和浅拷贝对象的值都会随着被改变。
深拷贝:对原对象的地址的拷贝,新拷贝了一份与原对象不同的地址的对象,修改原对象中的任何值,都不会改变深拷贝的对象的值。