列表和元组——python
创建列表:
1 name_list = ['python','java','shell','c++'] 2 #或 3 name_list = list(['python','java','shell','c++'])
切片:(切片:取多个元素)
1 a = [0,1,2,3,4,5,6] 2 print(a[0]) #通过下标访问列表中的元素,下标从0开始计数 3 print(a[-2]) #还可以从后往前取,最后一位代表-1 4 print(a[1:5]) #从下标1开始取到第五位,包括1,不包括5 5 print(a[0:4]) #同上,包括0,不包括4 6 print(a[:4]) #同上,从头开始取,0可以不写 7 print(a[2:5]) #取第二位到第五位,包括2,不包括5 8 print(a[3:-1]) #同上,包括3,不包括-1 9 print(a[3:]) #想取最后一位时,可以忽略不写 10 print(a[0::2]) #后面的2,代表跳着取值,间隔一个元素 11 print(a[::3]) #同上,不过间隔两个元素,0可以忽略不写
追加:
1 a.append('我是新来的') 2 print(a)
结果:[0, 1, 2, 3, 4, 5, 6, '我是新来的']
插入:
1 a.insert(3,'在3前面插入一个数据') 2 print(a) 3 a.insert(5,'在3后面插入一个数据') 4 print(a)
结果:[0, 1, 2, '在3前面插入一个数据', 3, 4, 5, 6, '我是新来的']
[0, 1, 2, '在3前面插入一个数据', 3, '在3后面插入一个数据', 4, 5, 6, '我是新来的']
修改:
1 a[3]='该换人了' 2 print(a)
结果:[0, 1, 2, '该换人了', 3, '在3后面插入一个数据', 4, 5, 6, '我是新来的']
删除:
1 del a[3] #指定删除的位置 2 print(a) 3 a.remove('在3后面插入一个数据') #指定删除的内容 4 print(a) 5 a.pop() #默认删除最后一位,也可输入下标删除指定 6 print(a)
结果:[0, 1, 2, 3, '在3后面插入一个数据', 4, 5, 6, '我是新来的']
[0, 1, 2, 3, 4, 5, 6, '我是新来的']
[0, 1, 2, 3, 4, 5, 6]
扩展:
1 b = 1,2,3 2 print(b) 3 a.extend(b) 4 print(a)
结果:(1, 2, 3)
[0, 1, 2, 3, 4, 5, 6, 1, 2, 3]
统计:
1 print(a.count(3)) #看整数3在列表a中存在几个
结果:2
排序:‘数据类型不一样的不可以在一起排序’
(默认顺序:特殊符号,数字,大写字母,小写字母)
1 a.sort() #正序 2 print(a) 3 a.reverse() #翻转 4 print(a)
结果:[0, 1, 1, 2, 2, 3, 3, 4, 5, 6]
[6, 5, 4, 3, 3, 2, 2, 1, 1, 0]
获取下标:
1 print(a) 2 print(a.index(2))
结果:[6, 5, 4, 3, 3, 2, 2, 1, 1, 0]
5
拷贝:
1、copy(浅copy)
1 names = ['nihao','zhangsan',['张三','李四'],'lisi','wangwu'] 2 _name = names.copy() 3 #只复制父列表.子列表相当于只指定一个位置,因此会跟随改变。 4 names[3] = 'lisi2' 5 names[2][0] = '张三丰' 6 print(names) 7 print(_name) 8 结果:['nihao', 'zhangsan', ['张三丰', '李四'], 'lisi2', 'wangwu'] ['nihao', 'zhangsan', ['张三丰', '李四'], 'lisi', 'wangwu']
2、调用模块的复制(浅copy)
1 import copy #定义copy模块 2 names = ['nihao','zhangsan',['张三','李四'],'lisi','wangwu'] 3 _name = copy.copy(names) 4 #与_name = names.copy()相同,结果就不赘述了。 5 names[3] = 'lisi2' 6 names[2][0] = '张三丰' 7 print(names) 8 print(_name)
3、调用模块,只复制原内容,更改后不复制更改内容。(深copy)
1 import copy 2 names = ['nihao','zhangsan',['张三','李四'],'lisi','wangwu'] 3 _name = copy.deepcopy(names) 4 #真正意义上的拷贝,不考虑后来的变化 5 print(names) 6 names[3] = 'lisi2' 7 names[2][0] = '张三丰' 8 print(names) 9 print(_name) 结果:['nihao', 'zhangsan', ['张三', '李四'], 'lisi', 'wangwu'] ['nihao', 'zhangsan', ['张三丰', '李四'], 'lisi2', 'wangwu'] ['nihao', 'zhangsan', ['张三', '李四'], 'lisi', 'wangwu']
元组:
元组其实跟列表差不多,也是存一组数,只不过它一旦创建,便不能再修改,所以又叫只读列表。
例:name = ('zhangsan','lisi','wangwu')
它只有两个方法,一个是count(统计),一个是index(获取下标)。
若本文内容有误,请指出,看到后会进行修改,谢谢!转载请注明出处。