列表是Python3中的最基本数据结构。它由一系列按特定顺序排列的元素组成。可以进行的操作包括索引,切片,加,乘,检查成员等操作。
列表的数据不需要相同类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号([])括起来即可。
list=['a',2,1,"bb",15]
1. 列表访问
列表是有序的集合,序列中的每个元素都分配一个数字 - 它的位置。其索引方式和字符串类似,我们可以通过索引来查找列表内容,下面是索引号:
方向 | H | e | l | l | o |
---|---|---|---|---|---|
从左到右 | 0 | 1 | 2 | 3 | 4 |
从右到左 | -5 | -4 | -3 | -2 | -1 |
>>>print("list[0]",list[0])
list[0]
>>>print(list[1:5])
[2,1,"bb",15]
>>>list=["aat","ut","hello"]
>>>list[1]
'ut'
>>>list[1].title() .title() 输出首字母大写
'Ut'
2. 修改列表
2.1 修改元素值
直接打入要修改的元素即可
>>>list[2]=9 将3号位置的原始修改成“9”
>>>print(list)
['a',2,9,"bb",15]
2.2 添加元素
python提供了多种在已有列表中添加数据的方式。
.append() 在末尾添加元素
>>>cycle=["hahah","yamato","aaat"]
>>>cycle
"hahah","yamato","aaat"
>>>cycle.append("yoyoo") 末尾添加元素
>>>cycle
"hahah","yamato","aaat","yoyoo"
.insert() 在任何位置插入元素
>>>cycle.insert(0,"ducati") 在cycle的0索引处添加
>>>cycle
"ducati","hahah","yamato","aaat","yoyoo"
2.3 删除元素或列表
2.3.1 del
del 直接按照索引删除元素或直接删除列表
del list[2] 删除第三个元素
2.3.2 pop()
pop() 删除列表末尾元素,但可以继续使用。pop(弹出)源自于一个类比,列表就像一个栈,删除末尾元素就好像弹出栈顶元素。
>>>cycle=["hahah","yamato","aaat"]
>>>cycle
"hahah","yamato","aaat"
>>>a=cycle.pop() 储存删除的值
>>>cycle
"hahah","yamato"
>>>a
"aaat"
其实pop()可以删除列表中任何位置的元素,在括号中加上索引即可。
>>>cycle=["hahah","yamato","aaat"]
>>>a=cycle.pop(1)
>>>cycle
"hahah","aaat"
2.3.3 remove()
remove()的作用在于,当你不知道元素位置你知道元素值的时候,可以删除该元素。
>>>cycle=["hahah","yamato","aaat"]
>>>a=cycle.remove("yamato")
>>>cycle
"hahah","aaat"
这个方法只能删除第一个指定值,如果需要删除的值出现多次,就需要用循环来做了。
3. 组织列表
列表创建后,元素的排列顺序有时候无法预测,但我们可以对列表进行进行排序。这种排序可以是永久性的,也可以是临时性的。
3.1 永久性排序 sort()
cycle=["hahah","yamato","aaat"]
cycle.sort()
cycle
'aaat', 'hahah', 'yamato'
cycle.sort(reverse=True)
cycle
'yamato', 'hahah', 'aaat'
3.2 临时排序 sorted()
使用方法跟sort()类似,可以按照特定方法显示列表元素,而不影响其原始排序。
3.3 反向列表.reverse()
该方法是反向列表,不是字母的倒叙排列,与括号内(reverse=True)这种是不一样的,后者表示反向排序。reverse()反向列表是永久性反向的,但要恢复也很简单,反多一次就行了。
>>>cycle=["hahah","yamato","aaat"]
>>>cycle.reverse()
>>>cycle
'aaat', 'yamato', 'hahah'
4.列表简单操作
操作方式 | 结果 | 描述 |
---|---|---|
[1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 组合 |
['Hi!'] * 2 | ['Hi!', 'Hi!'] | 重复 |
3 in [1, 2, 3] | True | 元素是否存在于列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
5. 列表函数
序号 | 函数 | 描述 |
---|---|---|
1 | len(list) | 列表元素个数 |
2 | max(list) | 返回列表元素最大值 |
3 | min(list) | 返回列表元素最小值 |
4 | list(seq) | 将元组转换为列表 |
6. 列表方法
序号 | 方法 | 描述 |
---|---|---|
1 | list.append(obj) | 在列表末尾添加新的对象 |
2 | list.count(obj) | 统计某个元素在列表中出现的次数 |
3 | list.extend(seq) | 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) |
4 | list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
5 | list.insert(index, obj) | 将对象插入列表 |
6 | list.pop([index=-1]) | 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 |
7 | list.remove(obj) | 移除列表中某个值的第一个匹配项 |
8 | list.reverse() | 反向列表中元素 |
9 | list.sort( key=None, reverse=False) | 对原列表进行排序 |
10 | list.clear() | 清空列表 |
11 | list.copy() | 复制列表 |
上面的“list”,用自己命名的列表名字代替。下面举例:
>>>lst=["a",1,2,2,6,2,"bb",15]
>>>lbt=["xx","yy",9]
>>>lst.append("test")
>>>lst
['a', 1, 2, 'bb', 15, 'test']
>>>lst.count(2)
3
>>>lst.extend(lbt)
>>>lst
['a', 1, 2, 2, 6, 2, 'bb', 15, 'xx', 'yy', 9]
>>>lst.index(6)
4
>>>lst.insert(5,0)
>>>lst
['a', 1, 2, 2, 6, 0, 2, 'bb', 15, 'xx', 'yy', 9]
>>>lst.pop(6)
"bb"
>>>lst
['a', 1, 2, 2, 6, 2, 15, 'xx', 'yy', 9]
>>>lst.remove(2)
>>>lst
['a', 1, 2, 2, 6, 2, 15, 'xx', 'yy', 9]
>>>lst.reverse()
>>>lst
[9, 'yy', 'xx', 15, 2, 6, 2, 1, 'a']
参考资料:Python3菜鸟教程
网友评论