1.列表
1.1 列表含义
- List(列表)是Python使用最频繁的数据列表,在其他语言中叫数组,是专门用来存储一串数据,存储的数据称之为元素
- 列表是一个线性的集合,它允许用户在任何位置插入、删除、访问和替换元素。列表实现是基于数组或基于链表结构的。当使用列表迭代器的时候,双链表结构比单链表结构更快。有序的列表是元素总是按照升序或者降序排列的元素。
- 列表用[]定义,元素之间用,分割,列表的索引从0开始
1.2 列表实现原理
Python中的列表基于PyListObject实现,列表支持元素的插入、删除、更新操作,因此PyListObject是一个变长对象(列表的长度随着元素的增加和删除而变长和变短),同时它还是一个可变对象(列表中的元素根据列表的操作而发生变化,内存大小动态的变化)。
详情请参考博客:https://www.pianshen.com/article/80091334729/
1.3 常用操作
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\']
1.4 高级操作
# 切片
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]
来源:https://www.cnblogs.com/kb-python/p/15976319.html
本站部分图文来源于网络,如有侵权请联系删除。