Python列表的定义及使用

 更新时间:2021年11月01日 10:25:08   作者:一碗周  
这篇文章主要介绍了Python列表的定义及使用,在Python中,列表是由一系列元素按照特定的顺序构成的数据结构,也就是说列表类型的变量可以存储多个数据,且可以重复,下面一起进入文章学习学习内容,需要的朋友可以参考一下

1、定义和使用列表

Python中,列表是由一系列元素按照特定的顺序构成的数据结构,也就是说列表类型的变量可以存储多个数据,且可以重复。

1.1 定义列表

使用[]字面量语法定义变量,列表中的多个元素使用逗号,进行分割,

示例代码如下:

list1 = ["Hello", "一碗周", "你好"]
list2 = [1, 2, 3, 4, 5]
print(list1)  # ['Hello', '一碗周', '你好']
print(list2)  # [1, 2, 3, 4,5]

使用Python内置的list将其他序列编程列表,示例代码如下:

list1 = list(range(10))
list2 = list("hello")
print(list1)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list2)  # ['h', 'e', 'l', 'l', 'o']

列表是一种可变的数据类型,也就是可以对列表的的元素可以进行修改,这与字符串有显著的差别,对字符串类型进行修改后,都会返回新的字符串

1.2 访问列表中的值

如果访问列表中的某个值,使用下标索引来访问列表中的值,与字符串一样使用方括号的形式截取字符,示例代码如下:

list1 = ["Hello", "一碗周", "你好"]
# 列表的索引
print(list1[1])  # 一碗周
# 列表的切片
print(list1[1:3])  # ['一碗周', '你好']

1.3 列表的运算符

表和字符串类型一样,同样支持拼接、重复、成员运算等操作,

示例代码如下:

list1 = ["Hello"]
list2 = ["World"]
list3 = [1, 2, 3, 4, 5]
list4 = list(range(1, 6))

list5 = list1 + list2  # ['Hello', 'World']
print(list5)

list6 = list1 * 3  # ['Hello', 'Hello', 'Hello']
list7 = list3 * 2  # [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
print(list6)
print(list7)

print("W" in list1)  # False
print("W" in list2)  # False

# 列表的比较运算
# 两个列表比较相等性比的是对应索引位置上的元素是否相等
print(list3 == list4)  # True
list8 = list(range(1, 7))
print(list3 == list8)  # False

1.4 列表元素的遍历

遍历列表同遍历字符串是一样的,示例代码如下:

list1 = ["H", "e", "l", "l", "o"]
# 方法1
for index in range(len(list1)):
    print(list1[index])
# 方法2
for ch in list1:
    print(ch)

2、列表的方法

2.1 添加和删除元素

直接上代码

list1 = ["cute", "beautiful", "一碗周"]

# append()在列表尾部添加元素
list1.append("lovely")
print(list1)  # ['cute', 'beautiful', '一碗周', 'lovely']

# insert()在列表指定索引位置插入元素
list1.insert(2, "prefect")
print(list1)  # ['cute', 'beautiful', 'prefect', '一碗周', 'lovely']

# remove()删除指定元素
list1.remove("lovely")
print(list1)  # ['cute', 'beautiful', 'prefect', '一碗周']

# pop()删除指定索引位置的元素
list1.pop(2)
print(list1)  # ['cute', 'beautiful', '一碗周']

# clear()清空列表中的元素
list1.clear()
print(list1)  # []

Python中也可以使用del关键字对列表元素进行删除,类似于pop,示例代码↓

list1 = ["cute", "beautiful", "甜甜"]

del list1[1]
print(list1) # ['cute', '甜甜']

# 删除整个列表
del list1
print(list1) # NameError: name 'list1' is not defined

2.2 元素位置和次数

使用index()来查找元素的位置,使用count()来统计元素出现的次数

list1 = ["beautiful", "cute", "beautiful",
         'prefect', "beautiful", "一碗周", 'lovely']
# 查找"beautiful"第一次出现的位置
print(list1.index("beautiful"))  # 0
# 从第四个元素以后查找"beautiful"最近一次出现的位置
print(list1.index("beautiful", 3))  # 4

# 统计"beautiful"出现的次数
print(list1.count("beautiful"))  # 3

2.3 元素排序和反转

使用sort()方法可以实现列表元素的排序,而reverse()方法可以实现元素的反转,示例代码↓

list1 = ["cute", "beautiful", "一碗周"]
list2 = list(range(10))

# 排序
list1.sort()
print(list1)  # ['beautiful', 'cute', '一碗周']

# 反转
list1.reverse()
print(list1)  # ['一碗周', 'cute', 'beautiful']

list2.reverse()
print(list2)  # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

# 前面的操作原来的列表进行修改,如果不让原来的数据被破坏可以使用copy()备份一份
list3 = list2.copy()
list3.sort()
print(list2)  # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
print(list3)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

2.4 小结

3、列表的生成式

要求:为字符串123和字符串ABC创建一个笛卡尔积构成的列表,示例代码如下:

原始方法:

a = "123"
b = "ABC"
list1 = []
for x in a:
     for y in b:
          list1.append(x + y)
print(list1) # ['1A', '1B', '1C', '2A', '2B', '2C', '3A', '3B', '3C']

生成列方法:

a = "123"
b = "ABC"
list1 = [x + y for x in a for y in b]
print(list1) # ['1A', '1B', '1C', '2A', '2B', '2C', '3A', '3B', '3C']

这中方法不仅代码量少,而且性能上也要优于普通的for循环和append追加的方式

4、嵌套的列表

因为列表里面的变量可以存储多种数据类型,就出现了列表里面有列表的时候,称之为列表的嵌套,示例代码如下:

list1 = [["cute", "beautiful", "一碗周"], "cute", "beautiful", "一碗周"]

print(list1[0])  # ['cute', 'beautiful', '一碗周']
print(list1[1])  # cute

# 如果想要查看被嵌套的那个cute则需要使用多个索引值
print(list1[0][0])  # cute

不管嵌套多少都是同理的

到此这篇关于Python列表的定义及使用的文章就介绍到这了,更多相关Python列表定义及使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python利用fastapi实现上传文件

    Python利用fastapi实现上传文件

    FastAPI是一个现代的,快速(高性能)python web框架。本文将利用fastapi实现上传文件功能,文中的示例代码讲解详细,需要的可以参考一下
    2022-06-06
  • 基于本地知识的问答机器人langchain-ChatGLM 大语言模型实现方法详解

    基于本地知识的问答机器人langchain-ChatGLM 大语言模型实现方法详解

    这篇文章主要介绍了基于本地知识的问答机器人langchain-ChatGLM 大语言模型实现方法,结合具体实例形式详细分析了langchain-ChatGLM的功能、原理、部署方法与操作注意事项,需要的朋友可以参考下
    2023-07-07
  • Python如何操作office实现自动化及win32com.client的运用

    Python如何操作office实现自动化及win32com.client的运用

    这篇文章主要介绍了Python如何操作office实现自动化及win32com.client的运用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 基于Django drf框架序列化视图

    基于Django drf框架序列化视图

    这篇文章主要为大家介绍了基于Django drf框架序列化视图,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 详解Python中的Lock和Rlock

    详解Python中的Lock和Rlock

    这篇文章主要介绍了Python中的Lock和Rlock的相关资料,帮助大家更好的理解和学习python线程的相关知识,感兴趣的朋友可以了解下
    2021-01-01
  • Qt调用Python详细图文过程记录

    Qt调用Python详细图文过程记录

    Qt调用python实际上就是c++调python,网上搜会出来很多,介绍得也比较全,这里做个记录,下面这篇文章主要给大家介绍了关于Qt调用Python详细图文过程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • python中文件操作与异常的处理图文详解

    python中文件操作与异常的处理图文详解

    在实际开发中常常需要对程序中的数据进行持久化操作,而实现数据持久化最直接简单的方式就是将数据保存到文件中,下面这篇文章主要给大家介绍了关于python中文件操作与异常处理的相关资料,需要的朋友可以参考下
    2021-12-12
  • python循环之彩色圆环实现示例

    python循环之彩色圆环实现示例

    这篇文章主要为大家介绍了python循环之彩色圆环实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • python 定时器每天就执行一次的实现代码

    python 定时器每天就执行一次的实现代码

    这篇文章主要介绍了python 定时器每天就执行一次的实现代码,代码简单易懂非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Effective Python bytes 与 str 的区别

    Effective Python bytes 与 str 的区别

    这篇文章主要介绍了Effective Python bytes 与 str 的区别,Python 有两种类型可以表示字符序列,下面围绕Python bytes 与 str 的相关资料展开内容,需要的朋友可以参考一下
    2021-11-11

最新评论