Python:列表(list)
2021-03-01 10:25
标签:pycha als 简便 module 列表 位置 range one ace 一:作用 二:定义 三:类型转换 四:内置方法 一:列表类型的作用 如果需存多个值并按顺序取,那用list再合适不过了 二:列表类型的定义 以上代码执行结果为: 三:列表的类型转换 所有能被for循环遍历的数据类型都可以用list转换为列表 比如字符串: 以上代码执行结果为: list在这里起到的作用跟for循环是一样的,相当于进行了如下操作: 以上代码执行结果为: 再比如字典: 以上代码执行结果为: 四:列表的内置方法 4.1按索引存取值: 正向取: 以上代码执行结果为: 反向取: 以上代码执行结果为: 修改值: 以上代码执行结果为: 需要注意的是,无论是取值还是赋值都无法对一个不存在的索引进行操作,操作必报indexerror错误: 以上代码执行结果为: 4.2列表添加值: 追加: 以上代码执行结果为: 插入: 以上代码执行结果为: 现在问题来了,我有一个需求要将一个列表里的值插入到另一个列表怎么做呢?使用append方法试一下: 以上代码执行结果为: 显然这与我的需求是相违背的,那么既然append插不了我用for遍历插总可以了吧: 以上代码执行结果为: 很好,要的就是这种效果。 但是问题又来了,不复杂的一个需求为什么要用一个循环去解决呢是不是太麻烦了? python提供方法的初衷就是把一些常用的操作进行封装方便直接使用,在上面这种情况下python提供了extend方法: 以上代码执行结果为: 这下好了,不用循环了只需一个.方法即可解决实际问题! 4.3删除列表值: 单纯删除: 以上代码执行结果为: del只是单纯的根据索引将值删除,没有任何返回值,如果你强行定义一个返回值,那么解释器会报语法错误 根据元素删除: 以上代码执行结果为: .pop()方法可以根据在()里指定索引的方式删除值,如果()里没有指定索引,那么默认会删除最后一个索引值 .pop()方法有返回值: 以上代码执行结果为: 可以发现,以des定义的返回值的结果,正是.pop()方法删除的那个索引值 根据元素删除: 以上代码执行结果为: .remove()方法只能用元素去删除,如果你想使用该删除一个列表,那么你只能将要删除的列表整个写入.remove()方法的括号里 .remove()方法也有返回值但它返回的是一个None: 以上代码执行结果为: 所以,如果你想利用返回值来进行后面的操作的话,那么还是使用.pop()方法比较好。反之,如果你只是单纯的想删除某一个元素,那么del和.remove()比较适用 4.4列表的切片操作: 切片操作只要记住一句话,顾头不顾尾 指定索引位置进行切片: 以上代码执行结果为: 从结果可以看出,取值范围从索引位置0开始到3之前也就是2结束 根据条件按索引取值: 以上代码执行结果为: 从结果可以看出,取值范围从0开始到6之前也就是5结束,取值方式为每两个位置取一次值 前边介绍的是从前往后取值,那我如果想从最后一个往前取值呢?倒叙取值: 以上代码执行结果为: 从结果可以看出,如果想倒叙取值,那么就算每一个取一次也要加个-1,两次就是-2 既然顾头不顾尾那我是不是永远没法取最后一个值呢?完整取值可以使用len()方法: 以上代码执行结果为: len()方法可以获取列表的长度,在某些情况下比较有用。当然对于上面的需求,还有更简便的取完整值方法: 以上代码执行结果为: 反向取亦然: 以上代码执行结果为: 切片操作相当于浅copy,也就是说如果给原值赋一个新值,如果原值改变,那么新值也会跟着改变: 以上代码执行结果为: 从结果可以看出,在ll列表的最后一个值的第一个索引改变的情况下,new_ll的值也跟着一起改变 in方法可以判断某个值是否为某个列表的元素: 以上代码执行结果为: in方法的结果只有true和false 4.5列表的其他一些方法: .count()方法: 以上代码执行结果为: 由执行结果可知,.count()方法的作用是统计列表中某个元素出现的总次数 .index()方法: 以上代码执行结果为: 由执行结果可知,.index()方法的作用是得到列表中某个元素的索引位置,如果有相同的元素,那么得到的结果为出现的第一个元素位置 .reverse()方法: 以上代码执行结果为: 由执行结果可知,.reverse()方法的作用就是将列表倒过来 .sort()方法: 以上代码执行结果为: 由执行结果可知,.sort()方法的默认作用就是将列表按从小到大的顺序排序 那如果我想按从大到小的顺序排呢? .sort()方法可以传两个值,其中key可以与函数配合使用,reverse设置为True,就可以实现将元素按从大到小的顺序排: 以上代码执行结果为: 需要注意的是,.sort()方法只能将同类型元素进行排序,如果非要排不同种元素那么会直接报数据类型错误: 以上代码执行结果为: 浮点型和整型可以进行排序 .clear()方法: 以上代码执行结果为: 由执行结果可知,.clear()方法的作用是将列表清空 Python:列表(list) 标签:pycha als 简便 module 列表 位置 range one ace 原文地址:https://www.cnblogs.com/liziaoligei/p/14448077.htmll = [1,2,3,‘a‘] ##相当于l = list(1,2,3,‘a‘)
print(l)
print(type(l))[1, 2, 3, ‘a‘]
class ‘list‘>
hee = ‘hello‘
print(hee)
print(type(hee))
llo = list(hee)
print(llo)
print(type(llo))
hello
class ‘str‘>
[‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]
class ‘list‘>
nam = [] #定义一个空列表
ee = ‘hello‘
for i in ee: #遍历字符串ee
nam.append(i) #使用append方法将i存入nam空列表
print(nam)
[‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]
ee = {‘lihua‘:1,‘wangwu‘:2,‘zhaosi‘:3,‘wangermazi‘:4}
print(ee)
print(type(ee))
name = list(ee)
print(name)
print(type(name))
{‘lihua‘: 1, ‘wangwu‘: 2, ‘zhaosi‘: 3, ‘wangermazi‘: 4}
class ‘dict‘>
[‘lihua‘, ‘wangwu‘, ‘zhaosi‘, ‘wangermazi‘]
class ‘list‘>
ll = [‘lizi‘,1,666,‘nb‘]
print(ll[0])
lizi
ll = [‘lizi‘,1,666,‘nbgls‘]
print(ll[-1])
nbgls
ll = [‘lizi‘,1,666,‘nbgls‘]
ll[3] = ‘lizi666‘
print(ll)
[‘lizi‘, 1, 666, ‘lizi666‘]
ll = [‘lizi‘,1,666,‘nbgls‘]
ll[4] = ‘lizi666‘
print(ll)
Traceback (most recent call last):
File "D:\PyCharm\lizi\basis\20200225\list.py", line 33, in
ll = [‘lizi‘,1,666,‘nbgls‘]
ll.append(‘woaini‘)
print(ll)
[‘lizi‘, 1, 666, ‘nbgls‘, ‘woaini‘]
ll = [‘lizi‘,1,666,‘nbgls‘]
ll.insert(2,99999)
print(ll)
[‘lizi‘, 1, 99999, 666, ‘nbgls‘]
sss = [1,2,3]
ll = [‘lizi‘,1,666,‘nbgls‘]
ll.append(sss)
print(ll)
[‘lizi‘, 1, 666, ‘nbgls‘, [1, 2, 3]]
sss = [1,2,3]
ll = [‘lizi‘,1,666,‘nbgls‘]
for i in sss:
ll.append(i)
print(ll)
[‘lizi‘, 1, 666, ‘nbgls‘, 1, 2, 3]
sss = [1,2,3]
ll = [‘lizi‘,1,666,‘nbgls‘]
ll.extend(sss) # for i in sss:
print(ll) # ll.append(i)
[‘lizi‘, 1, 666, ‘nbgls‘, 1, 2, 3]
ll = [‘lizi‘,1,666,‘nbgls‘]
del ll[2]
print(ll)
[‘lizi‘, 1, ‘nbgls‘]
ll = [‘lizi‘,1,666,‘nbgls‘]
ll.pop()
print(ll)
[‘lizi‘, 1, 666]
ll = [‘lizi‘,1,666,‘nbgls‘]
des = ll.pop(2)
print(des)
666
ll = [‘lizi‘,1,666,‘nbgls‘]
ll.remove(666)
print(ll)
[‘lizi‘, 1, ‘nbgls‘]
ll = [‘lizi‘,1,666,‘nbgls‘]
des = ll.remove(666)
print(des)
None
ll = [‘lizi‘,1,666,‘nbgls‘]
print(ll[0:-1])
[‘lizi‘, 1, 666]
ll = [‘lizi‘,1,666,‘nbgls‘,‘赵日天‘,‘小王八‘,‘lsp‘]
print(ll[0:6:2])
[‘lizi‘, 666, ‘赵日天‘]
ll = [‘lizi‘,1,666,‘nbgls‘,‘赵日天‘,‘小王八‘,‘lsp‘]
print(ll[:0:-1])
[‘lsp‘, ‘小王八‘, ‘赵日天‘, ‘nbgls‘, 666, 1]
ll = [‘lizi‘,1,666,‘nbgls‘,‘赵日天‘,‘小王八‘,‘lsp‘]
print(ll[0:len(ll)])
[‘lizi‘, 1, 666, ‘nbgls‘, ‘赵日天‘, ‘小王八‘, ‘lsp‘]
ll = [‘lizi‘,1,666,‘nbgls‘,‘赵日天‘,‘小王八‘,‘lsp‘]
print(ll[:])
[‘lizi‘, 1, 666, ‘nbgls‘, ‘赵日天‘, ‘小王八‘, ‘lsp‘]
ll = [‘lizi‘,1,666,‘nbgls‘,‘赵日天‘,‘小王八‘,‘lsp‘]
print(ll[::-1])
[‘lsp‘, ‘小王八‘, ‘赵日天‘, ‘nbgls‘, 666, 1, ‘lizi‘]
ll = [‘lizi‘,1,666,‘nbgls‘,‘赵日天‘,‘小王八‘,‘lsp‘,[1,2,3]]
new_ll = ll
print(ll)
print(new_ll)
ll[-1][1] = 333
print(ll)
print(new_ll)
[‘lizi‘, 1, 666, ‘nbgls‘, ‘赵日天‘, ‘小王八‘, ‘lsp‘, [1, 2, 3]]
[‘lizi‘, 1, 666, ‘nbgls‘, ‘赵日天‘, ‘小王八‘, ‘lsp‘, [1, 2, 3]]
[‘lizi‘, 1, 666, ‘nbgls‘, ‘赵日天‘, ‘小王八‘, ‘lsp‘, [1, 333, 3]]
[‘lizi‘, 1, 666, ‘nbgls‘, ‘赵日天‘, ‘小王八‘, ‘lsp‘, [1, 333, 3]]
ll = [‘lizi‘,1,666,‘nbgls‘,‘赵日天‘,‘小王八‘,‘lsp‘,[1,2,3]]
print(‘lizi‘ in ll)
print(‘hahah‘ in ll)
True
False
l = [‘lizi‘,1,666,‘nbgls‘,‘赵日天‘,‘小王八‘,‘lsp‘,[1,2,3],1]
print(l.count(1))
l = [‘lizi‘,666,‘nbgls‘,1,‘赵日天‘,‘小王八‘,‘lsp‘,[1,2,3],1]
print(l.index(1))
l = [‘lizi‘,666,‘nbgls‘,1,‘赵日天‘,‘小王八‘,‘lsp‘,[1,2,3],1]
l.reverse()
print(l)
[1, [1, 2, 3], ‘lsp‘, ‘小王八‘, ‘赵日天‘, 1, ‘nbgls‘, 666, ‘lizi‘]
l = [1,2,3,4,7,8,6,5]
l.sort()
print(l)
[1, 2, 3, 4, 5, 6, 7, 8]
l = [1,2,3,4,7,8,6,5]
l.sort(reverse=True)
print(l)
[8, 7, 6, 5, 4, 3, 2, 1]
l = [1,2,3,4,7,‘nb‘,8,6,5]
l.sort()
print(l)
Traceback (most recent call last):
File "D:\PyCharm\lizi\basis\20200225\list.py", line 65, in
l = [1,2,3,4,7,‘nb‘,8,6,5]
l.clear()
print(l)