学完 Python 的列表就相当于 Java 的 List
1 列表简介
1.1 列表的定义
List(列表) 是 Python 中使用 最频繁的数据类型, 在其他语言中通常叫做 数组
专门用于存储 一串 信息
列表用 [] 定义, 数据之间使用 , 分隔
列表的 索引从 0 开始
索引就是数据在 列表中的位置编号, 索引又可以被称为 下标
注意: 从列表中取值时, 如果 超出索引范围, 程序会报错
name_list = ["zhangsan", "lisi", "wangwu"]
1.2 列表常用操作
在 ipython3 中定义一个 列表, 例如: name_list = []
输入 name_list. 按下 TAB 键, ipython 会提示 列表能够使用的 方法如下:
- In [1]: name_list.
- name_list.append name_list.count name_list.insert name_list.reverse
- name_list.clear name_list.extend name_list.pop name_list.sort
- name_list.copy name_list.index name_list.remove
序号 | 分类 | 关键字 / 函数 / 方法 | 说明 |
---|---|---|---|
1 | 增加 | 列表. insert(索引, 数据) | 在指定位置插入数据 |
Python 列表函数 & 方法
Python 包含以下函数:
序号 | 函数 |
---|---|
1 | len(list)
|
2 | max(list)
|
3 | min(list)
|
4 | list(seq)
|
Python 包含以下方法:
序号 | 方法 |
---|---|
1 | list.append(obj)
|
2 | list.count(obj)
|
3 | list.extend(seq)
|
4 | list.index(obj)
|
5 | list.insert(index, obj)
|
6 | list.pop([index=-1])
|
7 | list.remove(obj)
|
8 | list.reverse()
|
9 | list.sort( key=None, reverse=False)
|
10 | list.clear()
|
11 | list.copy()
|
del 关键字 (科普)
使用 del 关键字 (delete) 同样可以删除列表中元素
del 关键字本质上是用来 将一个变量从内存中删除的
如果使用 del 关键字将变量从内存中删除, 后续的代码就不能再使用这个变量了
del name_list[1]
在日常开发中, 要从列表删除数据, 建议 使用列表提供的方法
关键字, 函数和方法 (科普)
关键字是 Python 内置的, 具有特殊意义的标识符
- In [1]: import keyword
- In [2]: print(keyword.kwlist)
- In [3]: print(len(keyword.kwlist))
关键字后面不需要使用括号
函数封装了独立功能, 可以直接调用
函数名 (参数)
函数需要死记硬背
方法和函数类似, 同样是封装了独立的功能
方法需要通过 对象来调用, 表示针对这个 对象要做的操作
对象. 方法名 (参数)
在变量后面输入 ., 然后选择针对这个变量要执行的操作, 记忆起来比函数要简单很多
1.3 循环遍历
遍历就是 从头到尾依次从 列表中获取数据
在 循环体内部针对 每一个元素, 执行相同的操作
在 Python 中为了提高列表的遍历效率, 专门提供的 迭代 iteration 遍历
使用 for 就能够实现迭代遍历
- # for 循环内部使用的变量 in 列表
- for name in name_list:
- ?
- # 循环内部针对列表元素进行操作
- print(name)
1.4 应用场景
尽管 Python 的 列表中可以 存储不同类型的数据
但是在开发中, 更多的应用场景是
列表存储相同类型的数据
通过 迭代遍历, 在循环体内部, 针对列表中的每一项元素, 执行相同的操作
2 常用方法
- stus = ['孙悟空','猪八戒','沙和尚','唐僧','孙悟空']
- print(stus)
- # 遍历
- for s in stus :
- print(s)
- print('stus 的长度',len(stus))
- print('孙悟空出现的次数',stus.count('孙悟空'))
- print('索引 1 出现的数',stus.pop(1))
- stus.append('白龙马')
- print('添加成员',stus)
- stus.remove('孙悟空')
- print('删除成员',stus) #默认是第一个成员
- stus1 = stus.copy() #指向的同一个地址值, 改变其中一个, 还有一个也改变
- print('copy',stus1)
- stus.extend(['蜘蛛精','佛祖'])
- print(stus)
- int = stus.index('孙悟空')
- print('索引出现的问题',int)
- stus.clear()
- print(stus) #清空
- print(stus1) #没有清空
结果:
- E:\PyWorkSpace\venv\Scripts\python.exe E:/PyWorkSpace/venv/bbb.py
- ['孙悟空', '猪八戒', '沙和尚', '唐僧', '孙悟空']
孙悟空
猪八戒
沙和尚
唐僧
孙悟空
stus 的长度 5
孙悟空出现的次数 2
索引 1 出现的数 猪八戒
添加成员 ['孙悟空', '沙和尚', '唐僧', '孙悟空', '白龙马']
删除成员 ['沙和尚', '唐僧', '孙悟空', '白龙马']
- copy ['沙和尚', '唐僧', '孙悟空', '白龙马']
- ['沙和尚', '唐僧', '孙悟空', '白龙马', '蜘蛛精', '佛祖']
索引出现的问题 2
- []
- ['沙和尚', '唐僧', '孙悟空', '白龙马']
- Process finished with exit code 0
来源: http://www.bubuko.com/infodetail-3361066.html