博客
关于我
Python 列表 笔记
阅读量:502 次
发布时间:2019-03-07

本文共 2387 字,大约阅读时间需要 7 分钟。

Python 列表简介

列表是Python中最基本的数据结构。它是一种可变的序列,可以存储多个有序的元素。简单来说,列表相当于内存中的一个容器,可以用来存储各种数据类型的对象。

列表的创建与基本使用

要创建一个列表,可以使用方括号 [ ]。记住,list 是Python中的一个内置函数,而不是函数名。

  • 创建空列表:
    my_list = []
  • 创建已经包含一个或多个元素的列表:
    my_list = [10, 20, 30, 40, 50]
  • 也可以在创建时指定初始元素:
    my_list = ['苹果', '香蕉', '桔子']
  • 列表中的元素可以是任何数据类型,不仅仅是整数或字符串,可以是布尔值、None甚至是其他列表。

如何访问列表中的元素

索引法

列表中的元素可以通过索引来访问。索引从0开始,第一个元素是索引0,第二个是索引1,依此类推。

  • 例如:
    my_list = [10, 20, 30, 40, 50]print(my_list[0])  # 输出10print(my_list[4])  # 输出50
  • 如果索引超出范围会抛出 IndexError 异常。

列表长度

要获取列表的长度,可以使用 len() 函数:

  • 例如:
    my_list = [10, 20, 30, 40, 50]print(len(my_list))
  • 返回的值是最大的索引加1。

切片操作

切片是从列表中获取子列表的操作,具有起始位置、结束位置和步长等参数。起始和结束位置可以省略,同样,步长也可以省略。

  • 基本切片语法:
    列表[起始:结束]
  • 例如:
    stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']print(stus[1:])  # 输出从第2个元素开始的所有元素print(stus[:3])  # 输出前3个元素print(stus[:])  # 输出整个列表的副本
  • 如果只提供结束位置,则从第一个元素开始截取到该位置。
  • 要获取逆序列表,可以使用负数索引:
    print(stus[-1])  # 输出最后一个元素,如 '白骨精'
  • 更复杂的切片操作:
    print(stus[::2])  # 每隔两个元素取一个,输出:['孙悟空', '沙和尚']print(stus[::-1])  # 逆向切片,输出整个列表的逆序

列表的通用操作

列表支持许多操作和方法,可以改写为通用操作,包括:

拼接和重复

  • 拼接两个列表:
    my_list = [1, 2, 3] + [4, 5, 6]
  • 重复列表 specify 次:
    my_list = [1, 2, 3] * 5  # my_list 会包含5个 [1,2,3]

列表的方法

  • append() 方法可以在列表末尾添加一个元素:
    my_list = [10, 20, 30]my_list.append(40)
  • insert() 方法可以在指定位置插入一个元素,不会删除或替代现有元素:
    my_list.insert(2, 100)
  • extend() 方法可以用一个序列扩展当前列表:
    my_list = [10, 20, 30]my_list.extend([40, 50])
  • clear() 方法可以清空列表:
    my_list = [10, 20, 30]my_list.clear()
  • pop() 方法可以根据索引删除并返回元素:
    my_list = [10, 20, 30]result = my_list.pop(2)  # 返回30result = my_list.pop()   # 返回30
  • remove() 方法可以删除指定值的元素:
    my_list = [10, 20, 30, 40]my_list.remove(20)
  • reverse() 方法可以反转列表:
    my_list = [10, 20, 30, 40]my_list.reverse()
  • sort() 方法可以对列表进行排序,默认按升序排列:
    my_list = [10, 1, 20, 3, 4, 5]my_list.sort(reverse=True)  # 降序排列

列表的修改与删除

列表是可变的,可以通过索引直接修改或删除元素,或者通过切片操作。

  • 例如:
    stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']stus[0] = '牛魔王'
  • 使用 del 关键字可以删除索引处的元素:
    stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']del stus[2]
  • 通过切片赋值来修改多个元素:
    stus[1:3] = ['牛魔王', '红孩儿', '二郎神']

列表的遍历

使用 for 循环可以遍历列表中的所有元素:

  • 例如:
    stus = ['孙悟空', '猪八戒', '沙和尚', '唐僧', '蜘蛛精']for emp in stus:  print(emp)
  • 还可以使用 enumerate() 函数来获取每个元素的索引:
    for index, emp in enumerate(stus):  print(f'索引 {index} 对应的元素是 {emp}')

range( ) 函数

range() 是一个生成自然数序列的函数,可以用来创建索引序列。

  • 例如:
    r = range(5)  # [0, 1, 2, 3, 4]r = range(10, 0, -1)  # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
  • range() 常用于 for 循环中,例如:
    for i in range(10):  print('数字', i)

这是Python列表的基础知识,希望对您有所帮助!

转载地址:http://bvijz.baihongyu.com/

你可能感兴趣的文章
MQTT介绍及与其他协议的比较
查看>>
MQTT共享订阅:实现高效的消息通信
查看>>
MQTT协议知识梳理,看完你就懂了!
查看>>
MQTT工作笔记0005---CONNECT控制报文2
查看>>
MQTT工作笔记0006---CONNECT控制报文3
查看>>
MQTT工作笔记0007---剩余长度
查看>>
MQTT工作笔记0008---服务质量
查看>>
MQTT工作笔记0009---订阅主题和订阅确认
查看>>
MQTT工作笔记0010---订阅主题和订阅确认2
查看>>
Mqtt搭建代理服务器进行通信-浅析
查看>>
MQTT(1):MQTT协议介绍
查看>>
MQ选型 | 为什么是RocketMQ而不是Kafka?
查看>>
Mr Cao 的提问
查看>>
MS COCO数据集介绍
查看>>
MS Edge浏览器“STATUS_INVALID_IMAGE_HASH“兼容性问题
查看>>
Ms Sql 2000 & Ms Sql 2005 & Ms Sql 2008更改 tempdb 数据库的物理位置
查看>>
ms sql server 2008 sp2更新异常
查看>>
MS SQL查询库、表、列数据结构信息汇总
查看>>
MS UC 2013-0-Prepare Tool
查看>>
MSBuild 教程(2)
查看>>