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 #删除指定索引位的元素。del可以删除任何东西。是python中内置的
li.clear() #清空列表
#修改
li = 'a' #更新指定索引位的值 #查
print(li.index('2')) #查找指定字符的索引位,没有则返回错误 #切片查
print(li) #列表切片,指定索引位到最后
print(li) #列表切片,开始索引:结束索引(不包括结束位置,-1代表最后一位)
print(li[:-1]) #列表切片,从开始到最后一位(不包括结束位置)
print(li)
print(li[::2])
print(li) #列表切片,其实索引:结束索引:步长()
#统计、排序、倒序
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 = '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 = '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方法
importcopy
new_li = copy.deepcopy(li)
new_li = 'I'
new_li = '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) #查找指定索引位的元素
print(tup_1) #元组切片,
print(id(tup_1)) #打印元组的内存地址
print(max(tup_1)) #打印元组最大值
print(min(tup_1))
页:
[1]