Python中的列表基于PyListObject实现,列表支持元素的插入、删除、更新操作,因此PyListObject是一个变长对象(列表的长度随着元素的增加和删除而变长和变短),同时它还是一个可变对象(列表中的元素根据列表的操作而发生变化,内存大小动态的变化)。
详情请参考博客:https://www.pianshen.com/article/80091334729/
name_list = ["zhangsan", "lisi", "wangwu"] # append 在末尾追加数据 name_list.append("zhangliu") 输出:["zhangsan", "lisi", "wangwu", "zhangliu"] # insert 在指定位置插入数据(位置前有空元素会自动补位) name_list.insert(0, "zhangliu") 输出:["zhangliu", "zhangsan", "lisi", "wangwu"] # extend 将可迭代对象追加到列表 age_list = [20, 18, 45] name_list.extend(age_list) 输出:["zhangsan", "lisi", "wangwu", 20, 18, 45] # del 删除指定索引的数据,如果索引溢出,则抛出索引越界的错误 del name_list[0] 输出:["lisi", "wangwu"] # remove 删除第一个出现的指定元素,元素不存在,则抛出 ValueError: list.remove(x): x not in list 的错误 name_list.remove("zhangsan") 输出:["lisi", "wangwu"] # pop 删除指定索引的数据,默认删除默认的数据,返回被删除的元素 name_list.pop() 输出:wangwu # 修改 name_list[0] = "zhangliu" 输出:["zhangliu", "lisi", "wangwu"] # 排序 reverse=True表示降序,默认为升序 name.sort() 输出:['lisi', 'wangwu', 'zhangsan']
# 切片 my_list = [1, 2, 3, 4, 5, 6, 7, 8] print(my_list[1:4]) # 获取列表中第2到第4元素 print(my_list[:]) # 获取列表所有元素 print(my_list[-5:-1]) # 反向索引 输出:[4, 5, 6, 7] # 循环 for i in my_list: print(i) # 依次打印列表中的元素 # 去重 my_list = [1, 2, 3, 4, 1, 2, 11] # 使用集合方式:先将列表转成set,最后将去重后的set转成集合 set(my_list) # {1, 2, 3, 4, 11} print(set(my_list)) 输出:[1, 2, 3, 4, 11] # 使用遍历方式 new_list = list() for i in my_list: if i not in new_list: new_list.append(i) print(new_list) 输出:[1, 2, 3, 4, 11]