6.列表

Posted yangte

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6.列表相关的知识,希望对你有一定的参考价值。

列表

特点

  • 列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据。
  • 列表是有序的,有索引值,可切片,方便取值。

例: 一个列表

lst = [4,5,6,"yangmei",[1,2,3]]              #其中[1,2,3]存储在一个物理地址上

一、列表索引

列表索引同字符串索引,左往右从零开始,右往左从-1开始

lst = [4,5,6,"yangmei",[1,2,3]] 
print(lst[1])  # 列表中第二个元素

注意: 列表是可以进行修改的,这里和字符串不一样,下面会讲到

二、列表切片

列表切片同字符串,一样有上标下标,一样有步长,而且切片时同样不读取终止索引的元素

lst = [4,5,6,"yangmei",[1,2,3]] 
print(lst[0:2])                     #输出结果为 [4,5]
print(lst[:2])                      #输出结果为 [4,5]
print(lst[0:4:2])                   #输出结果为 [4,6] 
print(lst[::-1])                    #倒着带步长,输出结果为 [[1, 2, 3], ‘yangmei‘, 6, 5, 4]
print(lst[-1:-3:-2])                #倒着带步长,输出结果为 [[1,2,3]]

三、列表的增删改查

1.增?

注意 list和str是不一样的. lst可以发生改变. 所以直接就在原来的对象上进行了操作

1.1追加模式

命令格式:

? 列表名.append(‘‘追加内容‘‘)

例:
lst = [4,5,6,‘yangmei‘,[1,2,3]]
lst.append(‘yanglang‘)
print(lst)                               #输出结果为[4, 5, 6, ‘yangmei‘, [1, 2, 3], ‘yanglang‘]

1.2插入模式

命令格式:

? 列表名.insert(插入位置的索引,‘插入的元素‘)

例:
lst = [4,5,6,‘yangmei‘,[1,2,3]]
lst.insert(1,‘m‘)                         #插入在1索引的位置,则其他元素后移
print(lst)                                #输出结果为 [4,‘m‘,5,6,‘yangmei‘,[1,2,3]]

1.3迭代添加

命令格式:

? 列表名.extend([‘元素1‘,‘元素2‘,‘多个元素‘])

例:
lst = [4,5,6,‘yangmei‘,[1,2,3]]
lst.insert(1,‘m‘)                          #在索引1的位置插入字符串m
lst.extend([111,222,333])
print(lst)                                 #输出结果为 [4, ‘m‘, 5, 6, ‘yangmei‘, [1, 2, 3], 111, 222, 333]

2.删?

2.1 pop通过下标删除元素

命令格式: #默认删除最后一个元素

? 列表名.pop()

例:
lst = [4,5,6,‘yangmei‘,[1,2,3]]
lst.pop()
print(lst)                                  #输出结果为 [4, 5, 6, ‘yangmei‘]

lst = [4,5,6,‘yangmei‘,[1,2,3]]
lst.pop(2)
print(lst)                                  #输出结果为 [4,5,‘yangmei‘,[1,2,3]]

2.2 remove通过元素删除

命令格式: #删除列表中的指定元素

? 列表名.remove(‘元素’)

例:
lst = [4,5,6,‘yangmei‘,[1,2,3]]
lst.remove(6)
print(lst)                                  #输出结果为 [4, 5, ‘yangmei‘, [1, 2, 3]]

2.3 clear 清空元素

命令格式: #列表清空

? 列表名.clear()

例:
lst = [4,5,6,‘yangmei‘,[1,2,3]]
lst.clear()
print(lst)                                 #输出结果为 []

3.改?

列表与字符串不同的是,字符串的修改方式是部分替换,而列表是元素覆盖

索引修改:
lst = [4,5,6,‘yangmei‘,[1,2,3]]
lst[1]=6                                  #把1号元素改为6
print(lst)                                #输出结果为 [4, 6, 6, ‘yangmei‘, [1, 2, 3]]

切片修改:
lst = [4,5,6,‘yangmei‘,[1,2,3]]
lst[1:4:2]=[2,2]                          #如果步长不是1, 要注意元素的数
print(lst)                                #输出结果为 [4, 2, 6, 2, [1, 2, 3]]

4.查询?

列表是一个可迭代对象,所以可以进行for循环

lst = [4,5,6,‘yangmei‘,[1,2,3]]
for i in lst:         
    print(i)
    
输出结果为:
4
5
6
yangmei
[1,2,3]

四、列表嵌套

注意:采用降维操作,一层一层的看就好

lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
print(lis[3][2][1][1])
输出结果为:   3

列表中元素做更改时,可以配合字符串的方法,在列表中检索字符串元素再做更改

以上是关于6.列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使列表视图出现在片段中?

Visual Studio 自定义代码片段在方法定义的参数列表中不起作用

架构丰富的代码片段也应该用于产品列表吗?

片段 A 的列表视图中的片段 B 中的新列表视图,单击 A 的列表项

Android,从其他片段返回的空列表视图

13 个非常有用的 Python 代码片段