列表

数据类型-列表

列表是我们以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

创建列表
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码的值的大小。

原文地址:https://www.cnblogs.com/jmaly/p/8000076.html