首页 > 代码库 > python之列表、元组操作方法
python之列表、元组操作方法
列表:
#以中括号包围,可变的有序集合
li = [‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘0‘,[‘a‘,‘b,‘,‘c‘]]
#插入:
li.insert(1,‘your‘) #在1的索引位上插入数据 li.append(‘a‘) #将字符追加到列表 a=‘your name is {}‘ li.extend(a) #将一个字符串或列表追加到列表
#删除
print(li.remove(‘1‘)) #删除指定元素 del li[1] #删除指定索引位的元素。del可以删除任何东西。是python中内置的 li.clear() #清空列表
#修改
li[2] = ‘a‘ #更新指定索引位的值
#查
print(li.index(‘2‘)) #查找指定字符的索引位,没有则返回错误
#切片查
print(li[1:]) #列表切片,指定索引位到最后 print(li[1:3]) #列表切片,开始索引:结束索引(不包括结束位置,-1代表最后一位) print(li[:-1]) #列表切片,从开始到最后一位(不包括结束位置) print(li[1::2]) print(li[::2]) print(li[1:-1:2]) #列表切片,其实索引:结束索引:步长()
#统计、排序、倒序
print(li.count(‘1‘)) #统计列表中指定元素的个数 print(li.sort()) #按照数字、大写、小写的顺序排序 print(li.pop(1)) #弹出并删除指定索引位的元素,默认删除最后一位 li.reverse() #将列表倒序输出
#浅copy
li = [‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘0‘,[‘a‘,‘b,‘,‘c‘]] new_li = li.copy() new_li[3] = ‘your‘
#修改第一层列表
print(li) [‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘0‘, [‘a‘, ‘b,‘, ‘c‘]] print(new_li) [‘1‘, ‘2‘, ‘3‘, ‘your‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘0‘, [‘a‘, ‘b,‘, ‘c‘]]
#这是正常的,修改新的列表,原列表元素不修改。接下来看一下修改嵌套列表
new_li[10][1] = ‘thanks‘ print(li) [‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘0‘, [‘a‘, ‘thanks‘, ‘c‘]] print(new_li) [‘1‘, ‘2‘, ‘3‘, ‘your‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘0‘, [‘a‘, ‘thanks‘, ‘c‘]]
#这不正常了啊。怎么修New_li,原来的li也更改了呢。好吧,这就是python的浅copy。只复制第一层元素内存地址给新的列表。子元素还指向原来的内存地址
#深copy
#在Python中如果我们想要完全的复制一个列表。需要使用到copy模块中的deepcopy方法
import copy new_li = copy.deepcopy(li) new_li[3] = ‘I‘ new_li[10][1] = ‘thanks‘ print(li) [‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘0‘, [‘a‘, ‘b,‘, ‘c‘]] print(new_li) [‘1‘, ‘2‘, ‘3‘, ‘I‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘0‘, [‘a‘, ‘thanks‘, ‘c‘]]
#看到输出结果,正是我们想要的结果
元组:
特性:以小括号包围逗号分隔的一个只读列表。
注意:创建单个元组的元组时也要使用逗号结尾。否则创建类型是str
tup_1=(‘3‘,‘4‘,‘10‘,‘11‘,‘22‘) print(tup_1.index(‘4‘)) #查找指定元素的索引 print(tup_1.count(‘1‘)) #统计指定元素出现的次数 print(tup_1[1]) #查找指定索引位的元素 print(tup_1[2:-1]) #元组切片, print(id(tup_1)) #打印元组的内存地址 print(max(tup_1)) #打印元组最大值 print(min(tup_1))
本文出自 “努力奔小康” 博客,请务必保留此出处http://302876016.blog.51cto.com/12889292/1945984
python之列表、元组操作方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。