首页 > 代码库 > 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之列表、元组操作方法