c++双向列表释放_笔记 | 自学Python 06:数据类型之列表

aa7979e1125f33758e95da2719794826.png

3d4b970a4542ebe0c9d88a86e080b0a4.png

fb0dc5220ea2420a6aa2adb91491758c.png

列表是一种用于保存一系列有序项目的集合,也就是说,你可以利用列表保存一串项目的序列。

想象起来也不难,你可以想象你有一张购物清单,上面列出了需要购买的商品,除开在购物清单上你可能为每件物品都单独列一行,在 Python 中你需要在它们之间多加上一个逗号

项目的列表应该用方括号括起来,这样Python才能理解到你正在指定一张列表。一旦你创建了一张列表,你可以添加、移除或搜索列表中的项目。既然我们可以添加或删除项目,我们会说列表是一种可变的(Mutable)数据类型,意即,这种类型是可以被改变的。

列表使用非常频繁,支持数字、字符、字符串甚至列表的集合结构。

我们从以下5个方面来了解:

0b482b1b44a03895b4eb8102276860d6.png

53d2c56584908de6d9a97e2908773973.png

①元素可变,操作会影响原表②创建一个列表,只要把逗号分隔的不同的数据项使用方括号[ ]括起来即可

③操作包括索引、切片、加、乘、检查成员……

④数据项不需要具有相同的类型

⑤可存放任意类型:字典、元组、数字、列表、字符串、布尔值

列表在C语言中与数组类似,区别如下:

数组:存储同一数据类型的集合

列表:可以存储任意数据类型的集合

8f44eef9d0e079f687ccbeae627f1090.png

列表的操作我们从下面7个方面了解:

89bbb6a1e204cfdb28907f48a4e9cf0d.png

1、访问(取值)方式

①索引

使用下标索引来访问列表中的值。

注意:第一个元素下标是0

ceb1cbe1fcb1c1927e5a281c4f5fe522.png

②切片取值

注意:切片取值具有顾头不顾尾的特点,即不包括尾部下标对应元素

案例应用:

4f010c9a5f38a747832bd16df05952e2.png

2、遍历

654aad932edc84757111194d9b6211e3.png

①循环——for 循环及while 循环

②内置函数 enumerate()

返回枚举对象

参数

sequence -- 一个序列、迭代器或其他支持迭代对象。

start -- 下标起始位置。

③iter()迭代器

用来生成迭代器,返回迭代对象。

参数

object -- 支持迭代的集合对象。 sentinel -- 如果传递了第二个参数,则参数 object 必须是一个可调用的对象(如,函数),此时,iter 创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法时,都会调用 object。

④range()函数

可创建一个整数列表,一般用在 for 循环中。

格式:range(start, stop[, step])

参数

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

end: 计数到 end 结束,但不包括 end。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

案例应用:

a294431f2a8aea790f61875bc88aaf0d.png

abe5f7f4e7a6094b24572de917b7af77.png

3、增删改查

①增加

1)直接list[ ]

2)数据的插入—— list.insert()

格式:list.index(x[, start[, end]])

注意:返回查找对象的索引位置,如果没有找到对象则抛出异常。

3)追加到最后——list.append()

格式:list.append(obj)

注意:可以追加,一次只能添加一个新对象,无返回值,但是会修改原来的列表。

4)扩展列表——list.extend()

格式:list.extend(seq)

注意:用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表),可以是列表、元组、集合、字典。会在已存在的列表中添加新的列表内容。

对比append & extend

相同:都没有返回值

不同:

append 将一个对象作为一个整体添加到列表中

extend 一次性追加另一个序列中的所有元素

案例应用:

116ae5dd456c158d6fc463275c3fca70.png

②删除

1)删除列表尾部list.pop()

返回末尾最后元素

2)删除指定位置del list[0]3)删除指定内容list.remove(' ')

移除列表中 指定值 的 第一个 匹配值。若不存在,会抛出异常。

4)清空列表clear

案例应用:

1b4bb501696300281180003a4df97e89.png

③直接修改

案例应用:

337a6e18307a9a472ea81ac077b2172b.png

④查找

使用判断语句 innot in

c72699506687a29be3e5f5f9d11fe28b.png

(3)数据结构

48524a7c85eb0e7b8e6775196f249f1a.png

①当作堆栈
原则:最先进入的元素最后一个被释放(后进先出)
方法
append()——把一个元素添加到堆栈顶
pop() ——把一个元素从堆栈顶释放出来②当作队列
原则:最先进入的元素先被释放(先进先出)
案例应用:

91c629dc67266de099f786d7163b42f3.png

③嵌套列表解析

案例应用:

6d957d14517cd00950eb05fbc9a434e0.png

④列表推导式

e44671501ba4dd3b81c3071bd35489d9.png

e9f4a7ebcf96fa1792990a9addd17f15.png

这一节内容较多,但也十分常用,可以收藏保存起来慢慢研究学习~~

持续更新中~~~~

28dfd8b8a469ccc6821c473e58a4a513.png
Becky:小白入门python | 学习笔记01​zhuanlan.zhihu.com
c03467a00f9f8da0e08ba0bda326706f.png
Becky:小白入门python | 学习笔记02​zhuanlan.zhihu.com
80fcbbf38535f499b3fdc9abb3621197.png
https://zhuanlan.zhihu.com/p/144815505​zhuanlan.zhihu.com
80fcbbf38535f499b3fdc9abb3621197.png
Becky:笔记 | 自学Python 03:运算符 Becky:笔记 | 自学Python 03:运算符​zhuanlan.zhihu.com
80fcbbf38535f499b3fdc9abb3621197.png
Becky:笔记 | 自学Python 04:数据类型之数字​zhuanlan.zhihu.com
80fcbbf38535f499b3fdc9abb3621197.png
Becky:笔记 | 自学Python 05:数据类型之字符串​zhuanlan.zhihu.com
80fcbbf38535f499b3fdc9abb3621197.png

b2af195dcd9b19b9d405cb4482394f29.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值