Python基础
001 - 安装和环境搭建
002 - Hello World
003 - 变量和简单数据类型
004 - 运算符
005 - 数字
006 - 字符串
007 - 列表
008 - 字典
009 - for & if & while
010 - 函数
011 - 类与对象
Python基础-从入门到实践
-
+
首页
007 - 列表
## 一、列表 > i 列表由多个元素组成,之前我们把变量的名和值比作房号和住户,那么列表可以看作里面有序排列了很多住户 <br> 用`[]`表示`列表`,用`,`分隔其中的元素,当直接`print(['a','b','c'])`时会直接全部展示`['a','b','c']` > i 用`()`表示列表`元组`,用`,`分隔其中的元素,当直接`print(('a','b','c'))`时会直接全部展示`('a','b','c')`,元组和列表基本相同,元组变量只能重新赋值,不能修改元素 <br> ## 二、列表的增删改查 ### 2.1 查-访问列表元素 > i 列表的索引(顺序下标)也是从0开始的 #### 2.1.1 访问第一个元素 ```python theList = [1, 2, 3, 4, 5, 6, 7 ] print(theList[0]) >>>1 ``` #### 2.1.2 访问最后一个元素 ```python theList = [1, 2, 3, 4, 5, 6, 7 ] print(theList[-1]) >>>7 ``` ```python theList = [1, 2, 3, 4, 5, 6, 7 ] print(theList[len(theList)-1]) >>>7 ``` #### 2.1.3 访问第i个元素 ```python theList = [1, 2, 3, 4, 5, 6, 7 ] print(theList[i-1]) ``` <br> ### 2.2 改-修改列表元素 > 根据索引找到目标元素所在的空间,降维定点打击 ```python theList = [1, 2, 3, 4, 5, 6, 7 ] theList[0] = '索引0是第1个元素' print(theList[0]) >>>索引0是第1个元素 ``` 声明一个列表变量相当于声明了一个内部空间可分的变量空间,里面的元素位是一个个子变量空间。 可以根据索引找到这个空间,修改更换里面的‘住户’,元素和元素之间用`,`分隔开互不影响。 存放各种类型的数据就相当于 --> 有的房间放杂物有的住人有的养宠物 > i 之前讲到,列表和字典是传址的 列表里的内容是可以根据索引进行重新赋予内存空间一个新元素的 这也会导致如果有一个变量是赋予了这个列表,这个变量同时也会被改变 ```python theList = [1,2,3,4,5,6,7,8,9,10] theList2 = theList theList[0] = theList[0] + 1 print(theList) print(theList2) >>>[2, 2, 3, 4, 5, 6, 7, 8, 9, 10] [2, 2, 3, 4, 5, 6, 7, 8, 9, 10] ``` <br> ### 2.3 增-添加列表元素 `append()`和`insert()` #### 2.3.1 在末尾添加元素 ```python theList = [1,2,3,4,5,6,7,8,9,10] theList.append('新元素') print(theList) >>>[1,2,3,4,5,6,7,8,9,10,'新元素'] ``` #### 2.3.2 在指定位置添加(插入)元素 ```python theList = [1,2,3,4,5,6,7,8,9,10] theList.insert(1,'新元素') # 在第二个位置插入新元素 print(theList) >>>[1,'新元素',2,3,4,5,6,7,8,9,10] ``` <br> ### 2.4 删-删除列表元素 `del` `pop()` 和 `remove()` #### 2.4.1 删除指定位置的元素 ```python theList = [1,2,3,4,5,6,7,8,9,10] del theList[0] print(theList) >>>[2, 3, 4, 5, 6, 7, 8, 9, 10] ``` #### 2.4.2 拿出指定位置的元素 > i 拿出后列表里面删除了,但是被拿出的元素可以单独使用,`pop()`不写索引默认拿出最后一个 ```python theList = [1,2,3,4,5,6,7,8,9,10] takeout = theList.pop(0) print(theList) print(takeout) >>>[2, 3, 4, 5, 6, 7, 8, 9, 10] 1 ``` #### 2.4.3 删除不知道位置的指定元素 ```python theList = [1,2,3,4,5,6,7,8,9,10] theList.remove(10) print(theList) >>>[1, 2, 3, 4, 5, 6, 7, 8, 9] ``` > i 如果列表中有多个相同值,`remove()`只能删除第一个,如果要全部删除干净,可以加循环判断处理 ```python while '某元素' in theList: theList.remove('某元素') ``` ## 三、组织列表 `sort()` `sorted()` `reverse()` 和 `len()` ### 3.1 永久排序 `sort()` > 直接使用时数字从小到大排列、字符按字母顺序正序排列 ```python theList = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] theList.sort() print(theList) >>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ``` ```python theList2 = ['j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a'] theList2.sort() print(theList2) >>>['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'] ``` <br> > 添加参数`reverse=True`,数字从大到小排列、字符按字母顺序倒序排列 ```python theList = [1,2,3,4,5,6,7,8,9,10] theList.sort(reverse=True) print(theList) >>>[10, 9, 8, 7, 6, 5, 4, 3, 2, 1] ``` ```python theList2 = ['a','b','c','d','e','f','g','h','i','j'] theList2.sort(reverse=True) print(theList2) >>>['j', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a'] ``` <br> ### 3.2 临时排序 `sorted()` > i sort()是方法,sorted()是函数 方法是调用即`theList.sort()`,函数是传递数据返回结果即`sorted(theList,reverse=True)` 临时排序不重新赋值变量的话不会改变变量的原有顺序 ```python theList = [1,2,3,4,5,6,7,8,9,10] print(sorted(theList,reverse=True)) >>>[10, 9, 8, 7, 6, 5, 4, 3, 2, 1] print(theList) >>>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ``` <br> ### 3.3 反转排序 `reverse()` > 这种反转排序是永久性的,如要还原则再次反转即可 ```python theList = [8, 9, 5, 7, 2, 6, 10, 4, 3, 1] theList.reverse() print(theList) >>>[1, 3, 4, 10, 6, 2, 7, 5, 9, 8] ``` <br> ### 3.4 列表长度 `len()` > 知道列表的长度可以方便遍历列表,或者用于切片 ```python theList = [1,2,3,4,5,6,7,8,9,10] print(len(theList)) >>>10 ``` <br> ## 四、列表操作 ### 4.1 创建列表 #### 4.1.1 range() `range(起始值,终止值+1,步长)` 从起始值到终止值按照步长生成一个有序数组 ```python for i in range(0,5,2): print(i) >>>0 2 4 ``` ```python for i in range(0,5,1): print(i) >>>0 1 2 3 4 ``` #### 4.1.2 list() `list()`转化为列表 ```python i = list(range(0,5)) print(i) >>>[0,1,2,3,4] ``` #### 4.1.3 统计列表 |函数|说明|实例| |----|----|----| |`len()`|列表长度|`print(len(i)) >>> 5`| |`min()`|列表最小值|`print(min(i)) >>> 0`| |`max()`|列表最大值|`print(max(i)) >>> 4`| |`sum()`|列表求和|`print(sum(i)) >>> 10`| <br> ### 4.2 列表切片 > 从第0位(计算机第1位)取到第2位(计算机第3位)前为止 ```python theList = [1,2,3,4,5] print(theList[0:2]) >>>[1, 2] ``` > 从第2位(计算机第3位)开始取到末尾 ```python print(theList[2:]) >>>[3, 4, 5] ``` > 从头到尾,间隔步长2取值 ```python print(theList[::2]) >>>[1, 3, 5] ``` <br> ### 4.3 遍历列表 ```python for i in [1,2,3,4,5]: print(i) >>>1 2 3 4 5 ``` <br> ### 4.4 列表克隆 #### 4.4.1 遍历克隆 ```python A = ['one','two','three'] B = [] for a in A: B.append(a) print(B) >>>['one', 'two', 'three'] ``` > i 等价于 `B = [a for a in A]` #### 4.4.2 函数克隆 > i 如果元素本身是数字,字符串,元组,则克隆后操作B不影响A,即避免了传址 ```python B = A.copy() print(B) >>>['one', 'two', 'three'] ``` <br>
Samle
2023年6月6日 18:59
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
伊起知库MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果伊起知库给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护伊起知库,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码