数据类型-列表
列表是我们以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作
创建列表
name = ["Martin","Annie","JMA","Martin","Ly"]
增加
name.append("HZY")
name.insert(1,"HZY")
insert()方法有两个参数:第一个参数代表在列表中的位置,第二个参数是在这个位置插入一个元素
删除
name.remove("HZY") #删除指定元素
使用remove()删除元素,不需要知道元素在列表中的具体位置,只要确定元素在列表中即可,如果删除的元素不在列表中就会报错。remove()不能利用元素位置删除元素
name.pop() #删除列表最后一个值
使用pop()方法,默认弹出列表的最后一个元素,但是pop()可以灵活应用,只需要给pop()加一个列表的索引值作为参数,就会弹出一个索引值对应的元素
del name[1]
del是一个语句,不是一个列表的方法,所以你不必在它的后面加一个小括号(),另外,如果想删除整个列表,可以在del后面加列表名
修改
name[1] = "acer"
查询
name[0]
通过元素的索引值(index)从列表获取单个元素
获取列表元素索引
name.index("JMA")
列表合并
name.extend(name2)
name.extend([7, 8])
统计
name.count("Martin")
排序
name.sort() #排序
反转
name.reverse() #反转
清空列表
name.clear() #清空列表
拷贝复制
浅copy,列表的copy
name2 = name.copy()
浅copy,copy模块的copy
import copy
name3 = copy.copy(name)
deepcopy,copy模块的deepcopy,一般别用
import copy
name4 = copy.deepcopy(name)
列表循环
for i in name:
print(i)
Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身
for i, value in enumerate(['A', 'B', 'C']):
print(i, value)
列表切片:取多个元素
列表切片是建立在原列表的一个拷贝(或者说是一个副本),所以如果想对列表做出一些修改,还想保持原来的那个列表,就可以直接用分片的方法获取拷贝就很方便了
name[1:4] #取下标1至下标4之间的数字,包括1,不包括4
name[:3] #如果是从头开始取,0可以忽略
name[3:] #如果想取最后一个,必须不能写-1
name[::2] #后面的2是代表,每隔一个元素,就取一个
>>> name = ["Martin","Annie","JMA","Martin","Ly"]
>>> name[1:4] #取下标1至下标4之间的数字,包括1,不包括4
['Annie', 'JMA', 'Martin']
>>> name[0:3] #取下标0至下标3间的数字,包括0,不包括3
['Martin', 'Annie', 'JMA']
>>> name[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
['Martin', 'Annie', 'JMA']
>>> name[3:-1] #取下标3至-1的值,不包括-1
['Martin']
>>> name[3:] #如果想取最后一个,必须不能写-1,只能这么写
['Martin', 'Ly']
>>> name[0::2] #后面的2是代表,每隔一个元素,就取一个
['Martin', 'JMA', 'Ly']
>>> name[::2] #和上面的效果一样
['Martin', 'JMA', 'Ly']
列表比较大小
当列表有多个元素的时候,默认是从第一个元素开始比较的,只要有一个元素大于另一个列表中的元素,第一个列表就大,字符串之间的比较也是一样的,只是字符串自检比较的是根据第一个字符对应的ASCII码的值的大小。