2025年Python 基础 2-1 列表入门

Python 基础 2-1 列表入门引言 列表 list 是由一系列按照特定顺序排列的元素组成的 它是一种有序的数据集合 你可以添加任何类型的元素到列表中 其中的元素之间可以没有任何关系 列表简介 Python 使用方括号 来定义列表 列表中的每个值称为元素 每个元素之间用逗号 分割开 每个元素都有自己唯一的索引值

大家好,我是讯享网,很高兴认识大家。

引言

列表 list 是由一系列按照特定顺序排列的元素组成的,它是一种有序的数据集合。
你可以添加任何类型的元素到列表中,其中的元素之间可以没有任何关系。

列表简介

Python 使用方括号 [] 来定义列表,列表中的每个值称为元素。
每个元素之间用逗号 , 分割开,每个元素都有自己唯一的索引值。
索引值分上标索引和下标索引,下标索引从 0 开始,上标索引从 -1 开始。
你可以理解为:下标索引 = 正序索引,上标索引 = 倒序索引

创建列表

一般将创建的列表赋给一个变量,因此给变量取个有意义的名字是个不错的注意
打印列表时,会将方括号 [] 也打印出来

如果你想定义一个空列表可以直接使用方括号 [] 而不在里面传值
定义一个人员列表,如下示例。

persons = ['张三','李四','王五','赵六','钱七','孙八'] print(persons) # 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八']

讯享网

列表取值

列表有两种取值方式

  1. 按索引号取值
  2. 范围取值
按索引号取值

在列表变量后面加上方括号 [] 里面传入元素的索引号,如下示例

讯享网persons = ['张三','李四','王五','赵六','钱七','孙八'] print(persons[0]) # 运行结果:张三
范围取值
1. 列表范围取值

例如取值 1~3 位置的元素,实际只取值到 1~2 位置的元素,如下示例

persons = ['张三','李四','王五','赵六','钱七','孙八'] print(persons[0:3]) # 运行结果:['张三', '李四', '王五']
2. 范围取值指定步长
讯享网# 隔一个元素取值 persons = ['张三','李四','王五','赵六','钱七','孙八'] print(persons[0:5:2]) # 运行结果:['张三', '王五', '钱七']
取值索引越界问题

注意: 列表取值时索引不能越界,如果取值索引超出列表的索引范围,会报一个 IndexError 的错误

# 例如以下示例 persons = ['张三', '李四', '王五'] print(persons[3]) # 运行报出错误:IndexError: list index out of range # 翻译过来就是“列表索引超出范围”,因为列表中索引位置 3 根本没有任何元素

新增

列表的新增操作

1. 在指定位置插入元素 insert()
讯享网# 插入元素 persons = ['张三','李四','王五','赵六','钱七','孙八'] persons.insert(6,'杨九') print(persons) # 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九']
2. 方法在列表末尾追加元素 append()
# 在末尾追加元素 persons = ['张三','李四','王五','赵六','钱七','孙八'] persons.append('杨九') print(persons) # 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九']
3. 在列表末尾追加多个元素 extend()

使用 extend() 方法在末尾同时追加多个元素

讯享网# 同时在末尾追加多个元素 persons = ['张三','李四','王五','赵六','钱七','孙八'] persons.extend(['杨九','吴十']) print(persons) # 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']

删除

列表的删除操作

1. 按索引号弹出元素 pop()

pop() 有返回值,弹出的元素可以保存到一个新的变量中,以便下次使用,也可以不保存,不保存就是删除

以下示例中很好的体现了 pop() 弹出的元素能够保存到另一个变量中


讯享网

persons = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十'] persons2 = persons.pop(0) print(persons) # 运行结果:['李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十'] print(persons2) # 运行结果:张三
2. 按元素名称移除元素 remove()

值得注意的是,如果列表中存在多个相同的元素,remove() 方法只会移除正序索引遇到的第一个元素,如果想移除全部可以使用遍历

讯享网persons = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十'] persons.remove('张三') print(persons) # 运行结果:['李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
3. 删除元素 del

del 是Python的语句,而不是列表 list 的方法,del是传入索引号删除的,但没有返回值

persons = ['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十'] del persons[0] print(persons) # 运行结果:['李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']

其他

列表的一些其他使用方法

1. len() 函数

使用 len() 函数看列表共有几个元素

讯享网persons = ['张三','李四','王五','赵六','钱七','孙八'] print( len(persons) ) # 运行结果:6
2. count() 函数

使用 count() 方法查看元素在列表中出现几次

# 获取元素 李四 在列表中出现几次 persons = ['张三','李四','王五','李四','赵六','钱七','孙八'] cnt = persons.count('李四') print(cnt) # 运行结果:2
3. 使用 index() 函数查看元素索引号

index() 方法只返回遇到的第一个符合条件的元素,如果有多个重复的元素名称需要使用遍历

如下示例,查看元素 ”李四“ 的索引号时只返回遇到的第一个元素

讯享网persons = ['张三','李四','王五','李四','赵六','钱七','孙八'] print( persons.index('李四') ) # 运行结果:1

遍历获取 “李四” 的索引号,如下示例

persons = ['张三','李四','王五','李四','赵六','钱七','孙八'] i = 0 for p in persons: if p == '李四': print(i,end='\t') i += 1 # 运行结果:1 3
4. 使用 copy() 方法复制列表

复制出来的列表是一份独立全新的数据,更改原列表内容不会影响复制的列表

讯享网# 复制列表 persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十'] persons2 = persons.copy() persons.remove('李四') print(persons) # 运行结果:['张三', '王五', '赵六', '钱七', '孙八', '杨九', '吴十'] print(persons2) # 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
5. 分割列表 split()

将字符串数据按特定规则分割成列表

例如以下示例, persons 变量中存储的字符串,每个人员用逗号 , 分割开,使用 split() 方法可以让其分割成列表

persons = '张三,李四,王五,赵六,钱七,孙八,杨九,吴十' persons_list = persons.split(',') print(persons_list) # 运行结果:['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十']
6. 成员运算符 in

判断数据是否存在列表中

讯享网# 使用成员运算符判断张三是否存在 `persons` 列表中 persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十'] persons2 = '张三' print(persons2 in persons) # 运行结果:True
7. 身份运算符 is

判断两个变量是否使用同一内存地址,是否指向同一块内存空间

persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十'] persons2 = persons.copy() persons3 = persons print(persons2 is persons) # 运行结果:False print(persons3 is persons) # 运行结果:False
8. 清空列表内容 clear()

以下清空列表示例中很好的展示了 copy() 出来的数据是一块独立全新的数据,清空 persons 列表的内容对它丝毫不受影响

讯享网persons = ['张三' , '李四' , '王五', '赵六', '钱七', '孙八', '杨九', '吴十'] persons2 = persons.copy() persons3 = persons persons.clear() print(persons) print(persons2) print(persons3) ''' 运行结果: [] ['张三', '李四', '王五', '赵六', '钱七', '孙八', '杨九', '吴十'] [] '''

数据之心

微信公众号「数据之心」
小讯
上一篇 2025-02-22 19:19
下一篇 2025-01-05 08:40

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/53548.html