|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Ice_in_left 于 2019-2-26 10:49 编辑
第十节内容
打了激素的数组
0. 数组概念:把同种类型的数据放在一起,按照下标进行索引。
因为 python 没有数据类型,所以按照这个节奏来说 python 是没有数组的。
但是 python 加入了更为强大的列表。
python 的列表可以把一切你能看到的东西,或者你从 python 中听说过的东西打包进去。
如果把数组比作一个集装箱的话,那么 python 的列表就是一个工厂的仓库了。
1. 创建列表
1.0 创建一个普通列表
- member = ['小甲鱼','小布丁','黑夜','迷途','怡静']
- member
- ['小甲鱼','小布丁','黑夜','迷途','怡静']
- number = [1,2,3,4,5]
- number
- [1,2,3,4,5]
复制代码
1.1 创建一个混合列表
- mix = [1,"小甲鱼",3.14,[1,2,3]]
- mix
- [1,"小甲鱼",3.14,[1,2,3]]
复制代码
1.2 创建一个空列表
2. 向列表添加元素
2.0 append() 方法
- member.append('福禄娃娃')
- member
- ['小甲鱼','小布丁','黑夜','迷途','怡静','福禄娃娃']
- len(member) 6
复制代码
这个点(.)表示范围,在对象中,属于对象的函数称为方法
append()这个方法属于member列表对象的方法。用点限制作用域
append() 方法向列表中添加两个元素时:
member.append('竹林小溪','Crazy迷恋')报错!
- >>> member.append('竹林小溪','Crazy迷恋')
- Traceback (most recent call last):
- File "<pyshell#41>", line 1, in <module>
- member.append('竹林小溪','Crazy迷恋')
- NameError: name 'member' is not defined
复制代码
这时引入第二个方法
2.1 extent() 方法
- member.extent(['竹林小溪','Crazy迷恋'])
复制代码
extent() 方法是将两个列表合成一个。所以不可以写成member.extent('竹林小溪','Crazy迷恋')。会报错,
2.2 insert()方法
member.insert(1,'牡丹')
两个参数第一个是插入列表的索引位置。第二个是插入的元素。
顺序索引从0开始。大多数编程语言从0开始是约定俗成的规范。
第十一节内容
0.获取列表中的值
从列表中获取元素跟数组一样,我们可以通过元素的索引值(index)从列表获取单个元素,注意,列表索引值是从0开始的。
- member = ['小甲鱼','牡丹','小布丁','黑夜','迷途','怡静','竹林小溪','Crazy迷恋']
- member[0]
- '小甲鱼'
- member[1]
- '牡丹'
复制代码
把元素 '小甲鱼' 和 '牡丹'换位置
- temp = member[0]
- member[0] = member[1]
- member[1] = temp
- member = ['牡丹','小甲鱼','小布丁','黑夜','迷途','怡静','竹林小溪','Crazy迷恋']
复制代码
1.删除列表中的值
1.0 remove()方法
remove要知道需要删除的元素的名字,不需要知道位置。
1.1 del
del 不是一个方法所以不需要加()
- member = ['牡丹','小甲鱼','小布丁','黑夜','迷途','怡静','竹林小溪','Crazy迷恋']
- del member[1] # 把小甲鱼从列表中删除
- del member # 把这个列表删除
复制代码
1.2 pop()
取出列表中的元素。
不传参数默认取出最后一个。
传参数,按照索引取出。
pop()方法是有返回值的。取出值并返回。
- member = ['牡丹','小甲鱼','小布丁','黑夜','迷途','怡静','竹林小溪','Crazy迷恋']
- name = member.pop()
- name
- 'Crazy迷恋'
复制代码
2 列表分片(Slice)
利用索引值,每次我们可以从列表获取一个元素,但是我们总是贪心的,如果一次性需要获取多个元素,有没有办法实现呢?利用列表分片,我们可以简单的实现这个要求。
- member[1:3]
- # 得到一个原来列表的拷贝。原列表并不改变。
- # [1:3] 包含1,不包含3
- member[:3]
- # 从最开始到第二个
- member[1:]
- # 从第二个到最后一个
- member[:]
- #得到一个原来列表的拷贝。如果想对列表做出某些修改,又想保持原来的列表就可以进行拷贝。
复制代码
第十二节内容
0. 比较操作符
- list1 = [123]
- list2 = [234]
- list1 > list2
- False
- list1 = [123,456]
- list2 = [234,123]
- list1 > list2
- False
复制代码
如果有多个元素优先比较第零个元素。只要有一个PK赢了就不用考虑后面的元素了。
1. 逻辑操作符
- list3 = [123,456]
- (list1 < list2) and (list1 == list3)
- True
复制代码
2. 连接操作符
列表跟字符串的拼接有相似性,但是不完全一样
- list4 = list1 + list2
- list4
- [123, 456, 234, 123]
复制代码
相当于把两个列表的值拼接在一起
这种情况相当于extent()方法来进行扩展列表。
+ 不能实现向列表中添加新元素的操作,会报错。
例如:
list1 + '小甲鱼'
+ 两边的类型必须相同 左边是列表右边也必须是列表
3. 重复操作符
- list3 * 3
- [123, 456, 123, 456, 123, 456]
- # 重复操作符加上赋值操作符
- list3 *= 3
- list3
- [123, 456, 123, 456, 123, 456]
- list3 *= 5
- list3
- [123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456]
复制代码
4. 成员操作符
- 123 in list3
- True
- '小甲鱼' not in list3
- True
- 123 not in list3
- False
- list5 = [123,['小甲鱼','牡丹'],456]
- '小甲鱼' in list5
- False
- # in 无法直接判断列表里面的列表的元素,需要再人为的引入一层
- '小甲鱼' in list5[1]
- list5[1][1]
- '牡丹'
复制代码
5. 列表的其他方法
- # 列表中这个元素出现的次数
- list3.count(123)
- 15
- # 返回这个值在列表中出现的位置
- list3.index(123)
- 0
- # 限定范围后这个元素出现第一次的索引值
- list3.index(123,3,7) 范围,3,7
- 4
- revers
- # 列表元素顺序反转
- list3.reverse()
- list3
- [456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123, 456, 123]
- list6 = [4,2,5,1,9,23,32,0]
- # 列表从小到大排序
- list6.sort()
- list6
- [0, 1, 2, 4, 5, 9, 23, 32]
- # 反向排序
- list6.sort(reverse = True)
- list6
- [32, 23, 9, 5, 4, 2, 1, 0]
复制代码
sort(func,key,reverse) 前两个默认规定排序。reverse 默认false 顺序排列。True 倒序
分片拷贝注:
- list7 = list6[:]
- list7
- [32, 23, 9, 5, 4, 2, 1, 0]
- list8 = list6
- list8
- [32, 23, 9, 5, 4, 2, 1, 0]
- list6.sort()
- list7
- [32, 23, 9, 5, 4, 2, 1, 0]
- list8
- [0, 1, 2, 4, 5, 9, 23, 32]
复制代码
赋值是给同一个地址贴一个新的标签而已。
拷贝分片是把原列表在内存中拷贝成一个新的同样的列表。
手动下一页!
《零基础入门学习Python》第十三第十四《元组》《字符串:各种奇葩的内置方法》笔记
|
|