列表,元组操作

定义列表

#!/usr/bin/env python
# -*- coding:utf-8 -*-
names = ["user1","user2","user3","user4"]

通过下标访问列表中的元素,下标从0开始计数

print(names[2]) #通过下标访问列表中的元素
>>user3
print(names[-1]) #取列表最后一位
>>user4

切片:取多个元素

print(names[0:2]) #取下标0至下标2之间的数字,包括0,不包括2
>>['user1', 'user2']
print(names[:2]) #楼上的简写
>>['user1', 'user2']
print(names[-2:]) #取列表的最后2个值
>>['user3', 'user4']
print(names[0:-1:2]) #按照步长打印列表
>>['user1', 'user3']
print(names[::2]) #楼上的简写
>>['user1', 'user3']

追加

names.append("我是新来的")
print(names)
>>['user1', 'user2', 'user3', 'user4', '我是新来的']

 插入

names.insert(1,"强行user2前面插入")
names.insert(4,"在user3后面插入")
print(names)
>>['user1', '强行user2前面插入', 'user2', 'user3', '在user3后面插入', 'user4', '我是新来的']

修改

names
['user1', '强行user2前面插入', 'user2', 'user3', '在user3后面插入', 'user4', '我是新来的']
names[1] = "该换人了"
print(names)
>>['user1', '该换人了', 'user2', 'user3', '在user3后面插入', 'user4', '我是新来的']

删除

names
['user1', '该换人了', 'user2', 'user3', '在user3后面插入', 'user4', '我是新来的']
names.remove("我是新来的") #删除指定元素
print(names)
>>['user1', '该换人了', 'user2', 'user3', '在user3后面插入', 'user4']

del names[1] #按照下标位置删
print(names)
>>['user1', 'user2', 'user3', '在user3后面插入', 'user4', '我是新来的']

names.pop() #删除列表最后一个值
print(names)
>>['user1', '该换人了', 'user2', 'user3', '在user3后面插入', 'user4']

获取下标

names
['user1', '该换人了', 'user2', 'user3', '在user3后面插入', 'user4', '我是新来的']
print(names.index("user1")) #找到user1的下标
>>0

统计

names
['user1', '该换人了', 'user2', 'user3', '在user3后面插入', 'user4', 'user2', '我是新来的']
print(names.count("user2")) #统计有几个user2
>>2

扩展

names
['user1', '该换人了', 'User2', '#user3', '在user3后面插入', 'user4', '2user2', '我是新来的']
names2 = [1,2,3,4,5]
names.extend(names2) #把nemes2添加到names中
print(names)
>>['user1', '该换人了', 'User2', '#user3', '在user3后面插入', 'user4', '2user2', '我是新来的', 1, 2, 3, 4, 5]

拷贝

names
["user1","User2","#user3",["user5","user6"],"user4","2user2"]
names2 = names.copy() #浅copy,只copy列表第一层,第二层以后的列表继续跟原列表同步
names[1] = "用户1" #更改原列表的第一层的内容,之前被copy的列表不会发生变化
names[3][0] = "用户5" #更改原列表第二层的内容,之前被copy的列表会发生变化
print(names)
print(names2)
['user1', '用户1', '#user3', ['用户5', 'user6'], 'user4', '2user2']
['user1', 'User2', '#user3', ['用户5', 'user6'], 'user4', '2user2']

深copy
import copy
names2 = copy.deepcopy(names) #把内容完全copy出来,形成一个独立的列表
names[1] = "用户1"
names[3][0] = "用户5"
print(names)
print(names2)
['user1', '用户1', '#user3', ['用户5', 'user6'], 'user4', '2user2']
['user1', 'User2', '#user3', ['user5', 'user6'], 'user4', '2user2']

循环打印列表

names
names = ["user1","User2","#user3",["user5","user6"],"user4","2user2"]
for i in names:
    print(i)

user1
User2
#user3
['user5', 'user6']
user4
2user2

其他

names
['user1', '该换人了', 'user2', 'user3', '在user3后面插入', 'user4', 'user2', '我是新来的']
names.clear() #清空列表
print(names)
[]

names.reverse() #列表内容翻转
print(names)
['我是新来的', 'user2', 'user4', '在user3后面插入', 'user3', 'user2', '该换人了', 'user1']

names
['user1', '该换人了', 'User2', '#user3', '在user3后面插入', 'user4', '2user2', '我是新来的']
names.sort() #排序,默认按照 特殊符号>数字>大写字母>小写字母
print(names)
>>['#user3', '2user2', 'User2', 'user1', 'user4', '在user3后面插入', '我是新来的', '该换人了']

 元组

元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

names = ("user1","user2")
print(names.count("user1")) #统计元组中有几个user1
print(names.index("user2")) #查看user2的下标

 

posted @ 2017-06-10 22:00  七天&七天  阅读(121)  评论(0编辑  收藏  举报