IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> python学习笔记1--数据结构之「列表」 -> 正文阅读

[数据结构与算法]python学习笔记1--数据结构之「列表」

一、列表的特性

1. list.append(x)  # 在列表的末尾添加一个元素

list_a = [1,2,3,4]
list_a.append(5)
print(list_a)
2. list.insert(i,x) #在指定位置插入元素。第一个参数是插入元素的索引

list_a = [1,2,3,4]
list_a.insert(0,8)
list_a.insert(len(list_a), 9)  # 等同于 a.append(9)
print(list_a)
3. list.remove(x)  # 从列表中删除第一个值为 x 的元素

list_a = [1,2,3,4,2]
list_a.remove(2)
print(list_a)
4. list.pop([i])
# 删除列表中指定位置的元素,并返回被删除的元素。未指定位置时,a.pop() 删除并返回列表的最后一个元素。
# 方法签名中 i 两边的方括号表示该参数是可选的,不是要求输入方括号。

list_a = [1,2,3,4,2]
x = list_a.pop(2) # 不能写成list_a.pop([2])
y = list_a.pop() # 删除并返回列表的最后一个元素
print(list_a)
print(x,y)

一开始学习时,遇到报错:
TypeError: ‘list’ object cannot be interpreted as an integer

在这里插入图片描述
类型错误,不能将list对象转换为一个整数. pop方法签名中 i 两边的方括号表示该参数是可选的,不是要求输入方括号。
x = list_a.pop(2) 不能写成list_a.pop([2])

5. list.extend(iterable) # 用于在列表末尾一次性追加另一个序列中的多个值

list_a = [1,2,3,4,2]
list_b = [6,7,8]
list_a.extend(list_b)
print(list_a,list_b)
6. list.clear() # 删除列表里的所有元素

list_a = [1,2,3,4,2]
list_a.clear()
print(list_a)
7. list.count(x) # 返回列表中元素 x 出现的次数。

list_a = [1,2,3,4,2]
x =list_a.count(2)
print(x)
8. list.index(x[, start[, end]])
# 返回列表中第一个值为 x 的元素的零基索引。未找到指定元素时,触发 ValueError 异常。
# 可选参数 start 和 end 是切片符号,用于将搜索限制为列表的特定子序列。返回的索引是相对于整个序列的开始计算的,而不是 start 参数。

list_a = [1,2,3,4,2]
x =list_a.index(2)
y = list_a.index(2,3,5)
print(x,y)
list_b = [123, 'xyz', 'yyy', 'abc']
print("xyz 索引位置: ", list_b.index( 'xyz' ))
print("yyy 索引位置 : ", list_b.index( 'yyy', 1, 3 )) 
9. list.sort(*, key=None, reverse=False) # 对原列表进行排序

list_a = [1,2,3,4,2]
list_a.sort() # reverse = False 升序(默认)
print(list_a)
list_a.sort(reverse=True) # reverse = True 降序
print(list_a)
10. list.reverse()  # 翻转列表中的元素

list_a = [1,2,3,4,2]
list_a.reverse()
print(list_a)
11. list.copy() # 复制一个副本

list_a = [1,2,3,4,2]
list_b = list_a # 直接赋值,是引用赋值,更改一个,另一个同样会变
list_c = list_a.copy() # 复制一个副本,原值和新复制的变量互不影响
print(list_b)
print(list_c)
list_a.append(5)
print(list_a)
print(list_b)
print(list_c)

二、列表推导式

列表推导式创建列表的方式更简洁。常见的用法为,对序列或可迭代对象中的每个元素应用某种操作,用生成的结果创建新的列表;或用满足特定条件的元素创建子序列。

# 1. 例如想生成一个平方列表,可以使用for循环,也可以使用列表推导式

list_a1 = []
for i in range(10):
    list_a1.append(i ** 2)
print(list_a1)
list_a2 = [i**2 for i in range(10)]
print(list_a2)

list_b1 = []
for i in range(10):
    if i !=1:
        list_b1.append(i ** 2)
print(list_b1)
list_b2 = [i**2 for i in range(10) if i != 1]
print(list_b2)

# 嵌套循环
list_c1 = []
for i in range(10):
    for j in range(10):
        list_c1.append(i * j)
print(list_c1)
list_c2 = [i*j for i in range(10) for j in range(10)]
print(list_c2)
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:52:09  更:2021-11-30 15:54:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 13:39:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码