list列表使用方法


  • 关键词:list列表

  • 摘要:list、列表、list列表、数据类型


目录

一、概述

二、列表操作

1、列表相加与重复

2、slice切片

3、list.append() 末尾添加新元素

4、list.extend() 末尾添加新列表、元组

5、list.insert() 在指定位置插入新元素

6、list.pop() 删除并返回指定位置元素

7、list.index() 定位某特定元素第一次在列表中出现的位置

8、list.reverse() 倒叙原列表

9、list.sort() 列表自动排序

*列表其他常用操作

三、列表的拷贝

1、引用拷贝(赋值拷贝)

2、浅拷贝

3、深拷贝

四、遍历列表

1、for 循环遍历

2、while 循环遍历

五、二维列表


一、概述

列表中元素的数据类型可以是任意类型(包括列表)或者是自定义的数据类型

>>> list = [12, "OK", True, [0, 3.14]]
>>> list
[12, "OK", True, [0, 3.14]]

可通过下标来访问列表中的对象并改变其值。通过下标访问时,并没有创建新列表

>>> list = [12, "OK", True, [0, 3.14]]
##访问单个对象
>>> list[1]
'OK'
##一次性访问多个对象,注意右侧为开
>>> list[1:4]    ##注意,这里并没有创建切片
['OK', True, [0, 3.14]]
##改变对象的值
>>> list[0] = 11
>>> list
[11, "OK", True, [0, 3.14]]

二、列表操作

1、列表相加与重复

##两相加(更推荐使用list.extend()函数)
>>> list1 = [1, 2, 3]
>>> list2 = ["A", "B", "C"]
>>> list3 = list1 + list2
>>> list3
[1, 2, 3, 'A', 'B', ''C']
##重复
>>> list = [0, 1] * 3
>>> list
[0, 1, 0, 1, 0, 1]

2、slice切片

语法:list [start:stop:step]

  • start 默认为0
  • stop 开区间,默认为列表末尾
  • step表示截取的步长,默认为1
  • 使用slice切片会生成新列表,对切片的操作不再改变原列表值
>>> list = [12, "OK", True, [0, 3.14]]
>>> list1 = list[0:2]
>>> list1
[12, 'OK']
##修改切片值,原列表并不改变,说明切片为一个新列表
>>> list1 = [False]
>>> list
[12, 'OK', True, [0, 3.14]]

3、list.append() 末尾添加新元素

>>> list = [12, "OK", True, [0, 3.14]]
>>> list.append(0)
>>> list
[12, "OK", True, [0, 3.14], 0]

4、list.extend() 末尾添加新列表、元组

*列表相加更推荐这种方法

*extend()中的值只能是列表或元组,新列表被拆分为元素再加入list

>>> list1 = [1, 2, 3]
>>> list2 = [4, 5, 6]
>>> list1.extend(list2)
>>> list1
[1, 2, 3, 4, 5, 6]

5、list.insert() 在指定位置插入新元素

语法:list.insert(position,element)

  • 参数不能省略
  • 在 position 处插入新元素,原数据向后顺延。
  • 新元素可为任意数据类型,若新元素为列表,列表不会被拆分。
>>> list = [1,2,3]
>>> list.insert(1,"A")
>>> list
[1, 'A', 2, 3]
>>> list.insert([True, False])
>>> list
[1, [True, False], 'A', 2, 3]

6、list.pop() 删除并返回指定位置元素

语法:list.pop(position)

  • 若参数省略,则默认删除末尾元素
  • list.pop() 返回值为被删除的元素
>>> list = [1, 2, 3, 4]
>>> list.pop()
4
>>> list.pop(0)
1
>>> list
[2, 3]

7、list.index() 定位某特定元素第一次在列表中出现的位置

语法:list.index(object, start, stop)

  • 若不指定范围,则默认在整个列表中查找
  • 若查找无结果则会报错
>>> list = [0, 1]
>>> list.index(1)
1

8、list.reverse() 倒叙原列表

*直接在原列表操作,不返回新的列表(无法用新列表承接)

>>> list = [0, 1]
>>> list.reverse()
>>> list
[1, 0]
##无法用新列表承接
>>> list1 = list.reverse()
>>> print(list1)
None

9、list.sort() 列表自动排序

语法:list1.sort(reverse = False)

  • reverse 默认值为0,表示不倒叙(即默认升序排列)
>>> list = [2, 3, 1]
>>> list.sort()
>>> list
[1, 2, 3]
>>> list.sort(reverse = True)
>>> list
[3, 2, 1]

*列表其他常用操作

操作作用说明
list.remove(元素)移除列表中的某个元素第一个匹配结果 
list.clear()清除列表中所有的数据,返回空列表 
list.count(元素)查找某元素在列表中出现的次数 
max(list)、min(list)获取列表中的最大值、最小值对于字符串列表同样适用,但必须保证数据类型相同且可比较
list(元组)将元组转为列表 

三、列表的拷贝

1、引用拷贝(赋值拷贝)

list1 = list

  • 不创建新列表,共用同一块内存空间。

2、浅拷贝

list2 = list1.copy()

  • 创建新列表,开辟新的内存空间。
  • 只适用于一维列表,若对二维列表进行浅拷贝,则依然为引用拷贝。

3、深拷贝

impo copy

list1 = copy.deepcopy(list)

  • 创建新列表,开辟新的内存空间。
  • 完全内存拷贝,适用于多维列表。

四、遍历列表

1、for 循环遍历

for item in list :

  • 从头开始,依次访问列表中的每一个元素,直到列表末尾
  • item 为之后承接列表元素的对象,可任意命名
>>> list = [0, "OK", ["Pi",3.14], True]
>>> for item in list:
	    print(item)
0
OK
['Pi', 3.14]
True

2、while 循环遍历

i = 0

while i < len(list) :

     do...

     i += 1

>>> list = [0, 1, 2]
>>> i = 0
>>> while i < len(list):
	    list[i]
	    i += 1
0
1
2

五、二维列表

一维列表的所有操作,都可以在二维列表的子列表中进行,只需加角标即可

>>> list = [[0, 1],["A", "B", "C"], [True, False]]
>>> list[1]
['A', 'B', 'C']
>>> list[1][1]
'B'
>>> list[1].reverse()
>>> list[1]
['C', 'B', 'A']

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gaoqizhong7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值