Python高级变量类型--列表

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]

posted @ 2022-03-07 15:53  KB、渣科  阅读(127)  评论(0编辑  收藏  举报