Python中的列表

本文介绍了Python中的数据结构,特别是列表这一核心数据结构。列表具备可变性,能包含多种类型的元素,支持丰富的操作如取值、切片、添加、插入、删除等。通过实例展示了如何使用这些操作,并提及了len()、in、append()、insert()、extend()、remove()、pop()等方法。此外,还提及了循环列表的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 什么是数据结构

在计算机科学中,数据结构(英语:data structure)是计算机中存储、组织数据的方式。

1、Python 中核心数据结构分类

  • 序列类型: 字符串、列表、元组
  • 映射类型: 字典
  • 集合: set()

在 Python中列表、元组、字典、集合都称为容器。

2、 序列类型数据结构共有的特点:

  • 序列类型中的元素都有对应的位置,这个位置叫偏移量或者索引
    在这里插入图片描述

二、列表

1. 列表的特性介绍

  • 列表内的元素是可变的。
    -> 列表的元素可以是 Python 的任何类型的数据和对象
如:字符串、列表、元组、字典、集合、函数、类
  • 列表中的具有相同值的元素允许出现多次
[1, 2, 1, 1, 1, 1, 3, 3, 2]

2. 创建列表
在这里插入图片描述
嵌套的列表
列表中可包含 python 中任何类型的元素(对象),当然也可以包括一个或多个列表

>>> li = [['one', 'two', 'three'], [1, 2, 3]]

3.列表的基本操作
3.1 取值

  • 没有嵌套的列表取值
>>> li_f = [ 'insert', 'append','extend', 'remove', 'pop', 'sort', 'sorted']
>>> li_f[0]
'insert'

  • 嵌套的列表取值
>>> l2 = [['one', 'two', 'three'], [1, 2, 3]]
>>> l2[0][1]
'two'

3.2 切片
同字符串的切片一样,详情参考字符串教程中的切片
几点简单示例

>>> li_f = [ 'insert', 'append','extend', 'remove', 'pop', 'sort', 'sorted']
#获取全部元素
>>> li_f[:]
['insert', 'append', 'extend', 'remove', 'pop', 'sort', 'sorted']
#反转
>>> li_f[::-1]
['sorted', 'sort', 'pop', 'remove', 'extend', 'append', 'insert']

3.3 必会方法

# 先定义一个列表
li = [5, 4, 3, 2, 1, 0]

len()方法是一个内置函数,可以统计序列类型的数据结构的长度。

>>> n = len(li)
>>> print(n)
6

in 判断元素是否存在于列表中。

In [3]: li = ['lenovo', 1314, '521']

In [4]: '521' in li
Out[4]: True

In [5]: 1314 in li
Out[5]: True

In [6]: if 'lenovo' in li:
   ...:     print('ok')
   ...:
ok

In [7]:

append() 向列表的最后位置,添加一个元素,只接收一个参数。

In [7]: li.append(521)

In [8]: li
Out[8]: ['lenovo', 1314, '521', 521]

insert() 向原列表的指定位置插入一个元素,接收两个参数,
第一个是索引号,第二个是要插入的元素。

In [9]: li.insert(0, 521)

In [10]: li
Out[10]: [521, 'lenovo', 1314, '521', 521]

extend() 可以把一个序列类型中的每个元素追加到原列表中,接收的参数是一个序列类型的数据(字符串,列表)。

In [11]: l2 = ['qf','yangge']

In [12]: li.extend(l2)

In [13]: li
Out[13]: [521, 'lenovo', 1314, '521', 521, 'qf', 'yangge']

remove() 移除列表中某个指定的元素,没有返回值,并且假如有多个相同值的元素存在,每次只会移除排在最前面的那个元素

In [14]: li.remove(521)

In [15]: li
Out[15]: ['lenovo', 1314, '521', 521, 'qf', 'yangge']

pop() 从原列表中删除一个元素,并且把这个元素返回。
接收零个或一个参数,参数是偏移量,int 类型。

# 删除列表中的最后一个元素
In [16]: name = li.pop()

In [17]: name
Out[17]: 'yangge'

In [18]: li
Out[18]: ['lenovo', 1314, '521', 521, 'qf']

 # 删除列表中第二个索引号对应的元素,并且返回这个元素,用变量名`n` 接收。  
In [19]: n = li.pop(-2)

In [20]: n
Out[20]: 521

In [21]: li
Out[21]: ['lenovo', 1314, '521', 'qf']

在这里插入图片描述

循环列表

for-list.py 文件内容如下

li = ['lenovo', 1314, '521', 'qf']

for item in li:
    print(item)

执行

python3 for-list.py

结果

lenovo
1314
521
qf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值