python 列表和元组

import copy
names=['张三','张三','李四','王五','a','b']
#列表取值
print(names[0]) #张三 列表下标从0开始
print(names[-1]) #b 倒着取值
#获取下标
print(names.index('张三')) #0 获取下标,只获取第一个下标

# #切片取值
print(names[0:2])#['张三', '张三'] 切片取值,取头不取尾
print(names[:2]) #['张三', '张三']
print(names[1:])#['张三', '李四', '王五', 'a', 'b'] 从下标1开始取到最后
print(names[::2])#['张三', '李四', 'a'] 列表取值,歩长为2,隔1个元素,取一次值
print(names[0:4:2]) #['张三', '李四']

# #插入
names.append('new') #在列表后面追加
print(names) #['张三', '张三', '李四', '王五', 'a', 'b', 'new']
names.insert(0,'insertone')#在index[0]前面插入
print(names) #['insertone', '张三', '张三', '李四', '王五', 'a', 'b', 'new']
#
# #修改
names[0]='change'
print(names) #['change', '张三', '李四', '王五', 'a', 'b']
#
# #删除
del names[0] #通过指定下标删除
print(names) #['张三', '李四', '王五', 'a', 'b']
names.remove('张三') #指定内容删除
print(names)
names.pop() #删除最后一个值
print(names) #['李四', '王五', 'a']
#
# #列表拼接
list_1=['1','2',3]
list_2=['4','5',6]
list_1.extend(list_2)
print(list_1) #['1', '2', 3, '4', '5', 6]
# #
# #列表复制
# #浅copy,列表copy复制只复制一层,修改嵌套列表,则原列表和新列表都会变化。
list_3=['a','a','b','c',[1,2,3]]
list_copy=list_3.copy() #浅copy第一种方法
list_3[0]='change'
print(list_3) #['change', 'a', 'b', 'c', [1, 2, 3]]
print(list_copy) #['a', 'a', 'b', 'c', [1, 2, 3]]
list_copy2=list_3[:] #浅copy第2种方法
print(list_copy2) #['a', 'a', 'b', 'c', [1, 2, 3]]
list_copy3=list(list_3) #浅copy第3种方法
print(list_copy3) #['a', 'a', 'b', 'c', [1, 2, 3]]
#
#
# #深copy2,修改嵌套列表,不影响原表
list_3=['a','b','c',[1,2,3]]
list_4=copy.deepcopy(list_3)
list_4[3][0]='aa'
print(list_4) #['a', 'b', 'c', ['aa', 2, 3]]
print(list_3) #['a', 'b', 'c', [1, 2, 3]]
#
# #统计
li=['a','a','b','c']
print(li.count('a')) #统计出现次数
#
# #排序,反转
li2=['张三','李四','王五','网六','1']
li2.sort() #排序
print(li2)
li2.reverse() #列表反转,字符串反转都可以用这个方法
print(li2)
#
# #元组,列表的其中一种,只可以读,不可以修改。也叫只读列表
# #只有count、index 方法
tu=('a','a','b','1','2','3')
print(tu.count('a'))
print(tu.index('a'))
posted @ 2018-03-26 15:56  小静学测试  阅读(143)  评论(0编辑  收藏  举报