当前位置:首页 > 文章列表 > 文章 > python教程 > PCEP 认证准备的 Python 元组和列表提示

PCEP 认证准备的 Python 元组和列表提示

来源:dev.to 2024-10-05 13:43:03 0浏览 收藏

在文章实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《PCEP 认证准备的 Python 元组和列表提示》,聊聊,希望可以帮助到正在努力赚钱的你。

PCEP 认证准备的 Python 元组和列表提示

立志成为 python 认证入门级程序员 (pcep) 需要彻底了解 python 中的基本数据结构,例如列表和元组。

列表和元组都能够在 python 中存储对象,但这两种数据结构在用法和语法上存在关键差异。为了帮助您在 pcep 认证考试中取得好成绩,这里有一些掌握这些数据结构的基本技巧。

1。了解列表和元组的区别
python 中的列表是可变的,这意味着它们可以在创建后进行修改。另一方面,元组是不可变的,这意味着它们一旦创建就无法更改。这意味着元组的内存需求较低,并且在某些情况下比列表更快,但它们提供的灵活性较低。

列表示例:

# creating a list of numbers
numbers = [1, 2, 3, 4, 5]
# modifying the list by changing the fourth element
numbers[3] = 10
print(numbers)
# output: [1, 2, 3, 10, 5]

元组示例:

# creating a tuple of colors
colors = ("red", "green", "blue")
# trying to modify the tuple by changing the second element
colors[1] = "yellow" 
# this will result in an error as tuples are immutable

2。熟悉列表和元组的语法
列表用方括号 [ ] 表示,而元组则用括号 ( ) 括起来。创建列表或元组就像使用适当的语法向变量声明值一样简单。请记住,元组在初始化后无法修改,因此使用正确的语法至关重要。

列表示例:

# creating a list of fruits
fruits = ["apple", "banana", "orange"]

元组示例:

# creating a tuple of colors
colors = ("red", "green", "blue")

3。了解如何添加和删除项目
列表有各种用于添加和删除项目的内置方法,例如append()、extend() 和remove()。另一方面,元组的内置方法较少,并且没有任何添加或删除项目的方法。因此,如果您需要修改元组,则必须创建一个新元组,而不是更改现有元组。

列表示例:

# adding a new fruit to the end of the list
fruits.append("mango")
print(fruits)
# output: ["apple", "banana", "orange", "mango"]

# removing a fruit from the list
fruits.remove("banana")
print(fruits)
# output: ["apple", "orange", "mango"]

元组示例:

# trying to add a fruit to the end of the tuple
fruits.append("mango")
# this will result in an error as tuples are immutable

# trying to remove a fruit from the tuple
fruits.remove("banana")
# this will also result in an error

4。了解性能差异
由于其不变性,元组通常比列表更快。留意需要存储固定项目集合的场景,并考虑使用元组而不是列表来提高性能。

您可以使用python中的timeit模块测试列表和元组之间的性能差异。下面是一个比较迭代列表和包含 10 个元素的元组所需时间的示例:

# importing the timeit module
import timeit

# creating a list and a tuple with 10 elements
numbers_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
numbers_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

# testing the time it takes to iterate through the list
list_time = timeit.timeit('for num in numbers_list: pass', globals=globals(), number=100000)
print("time taken for list: ", list_time)
# output: time taken for list: 0.01176179499915356 seconds

# testing the time it takes to iterate through the tuple
tuple_time = timeit.timeit('for num in numbers_tuple: pass', globals=globals(), number=100000)
print("time taken for tuple: ", tuple_time)
# output: time taken for tuple: 0.006707087000323646 seconds

如您所见,迭代元组比迭代列表稍快。

5。了解列表和元组的适当用例
列表适合存储可能随时间变化的项目集合,因为它们可以轻松修改。相比之下,元组非常适合需要保持不变的项目的恒定集合。例如,虽然列表可能适合可以更改的杂货清单,但元组更适合存储一周中的几天,因为它们保持不变。

列表示例:

# creating a list of groceries
grocery_list = ["milk", "bread", "eggs", "chicken"]
# adding a new item to the grocery list
grocery_list.append("bananas")

元组示例:

# creating a tuple of weekdays
weekdays = ("monday", "tuesday", "wednesday", "thursday", "friday")
# trying to add a new day to the tuple
weekdays.append("saturday")
# this will result in an error as tuples cannot be modified after creation

6。注意内存使用
由于其灵活性,列表比元组消耗更多的内存,而元组由于其不变性而占用更少的空间。在处理大型数据集或内存密集型应用程序时,这一点尤其重要。

可以使用python中的sys模块来检查变量的内存使用情况。以下是比较列表和具有一百万个元素的元组的内存使用情况的示例:

# importing the sys module
import sys

# creating a list with one million elements
numbers_list = list(range(1000000))
# checking the memory usage of the list
list_memory = sys.getsizeof(numbers_list)
print("memory usage for list: ", list_memory)
# output: memory usage for list:  9000112 bytes

# creating a tuple with one million elements
numbers_tuple = tuple(range(1000000))
# checking the memory usage of the tuple
tuple_memory = sys.getsizeof(numbers_tuple)
print("memory usage for tuple: ", tuple_memory)
# output: memory usage for tuple: 4000072 bytes

您可以看到,与列表相比,元组消耗的内存更少。

7。知道如何迭代列表和元组
列表和元组都可以通过使用循环进行迭代,但由于它们的不变性,元组可能会稍微快一些。另请注意,列表可以存储任何类型的数据,而元组只能包含可哈希元素。这意味着元组可以用作字典键,而列表则不能。

列表示例:

# creating a list of numbers
numbers = [1, 2, 3, 4, 5]
# iterating through the list and checking if a number is present
for num in numbers:
    if num == 3:
        print("number 3 is present in the list")
# output: number 3 is present in the list

元组示例:

# creating a tuple of colors
colors = ("red", "green", "blue")
# iterating through the tuple and checking if a color is present
for color in colors:
    if color == "yellow":
        print("yellow is one of the colors in the tuple")
# this will not print anything as yellow is not present in the tuple

8。熟悉内置函数和操作
虽然与元组相比,列表具有更多的内置方法,但这两种数据结构都具有一系列您应该熟悉 pcep 考试的内置函数和运算符。其中包括 len()、max() 和 min() 等函数,以及 in 和 not in 等运算符,用于检查某个项目是否在列表或元组中。

列表示例:

# creating a list of even numbers
numbers = [2, 4, 6, 8, 10]
# using the len() function to get the length of the list
print("length of the list: ", len(numbers))
# output: length of the list: 5
# using the in and not in operators to check if a number is present in the list
print(12 in numbers)
# output: false
print(5 not in numbers)
# output: true

元组示例:

# creating a tuple of colors
colors = ("red", "green", "blue")
# using the max() function to get the maximum element in the tuple
print("Maximum color: ", max(colors))
# output: Maximum color: red
# using the in and not in operators to check if a color is present in the tuple
print("yellow" in colors)
# output: False
print("green" not in colors)
# output: False

通过了解列表和元组的差异、适当的用例以及语法,您将为 pcep 考试做好充分准备。请记住在不同场景中练习使用这些数据结构,以巩固您的知识并增加通过考试的机会。请记住,熟能生巧!

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
斋浦尔数据科学研究所:传统与技术的邂逅斋浦尔数据科学研究所:传统与技术的邂逅
上一篇
斋浦尔数据科学研究所:传统与技术的邂逅
浓缩咖啡;出发时间到了
下一篇
浓缩咖啡;出发时间到了
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 谱乐AI:青岛艾夫斯科技的多模型AI音乐生成工具
    谱乐AI
    谱乐AI是由青岛艾夫斯科技有限公司开发的AI音乐生成工具,采用Suno和Udio模型,支持多种音乐风格的创作。访问https://yourmusic.fun/,体验智能作曲与编曲,个性化定制音乐,提升创作效率。
    7次使用
  • Vozo AI:超真实AI视频换脸工具,提升创意内容制作
    Vozo AI
    探索Vozo AI,一款功能强大的在线AI视频换脸工具,支持跨性别、年龄和肤色换脸,适用于广告本地化、电影制作和创意内容创作,提升您的视频制作效率和效果。
    7次使用
  • AIGAZOU:免费AI图像生成工具,简洁高效,支持中文
    AIGAZOU-AI图像生成
    AIGAZOU是一款先进的免费AI图像生成工具,无需登录即可使用,支持中文提示词,生成高清图像。适用于设计、内容创作、商业和艺术领域,提供自动提示词、专家模式等多种功能。
    7次使用
  • Raphael AI:Flux.1 Dev支持的免费AI图像生成器
    Raphael AI
    探索Raphael AI,一款由Flux.1 Dev支持的免费AI图像生成器,无需登录即可无限生成高质量图像。支持多种风格,快速生成,保护隐私,适用于艺术创作、商业设计等多种场景。
    7次使用
  • Canva可画AI生图:智能图片生成新选择
    Canva可画AI生图
    Canva可画AI生图利用先进AI技术,根据用户输入的文字描述生成高质量图片和插画。适用于设计师、创业者、自由职业者和市场营销人员,提供便捷、高效、多样化的视觉素材生成服务,满足不同需求。
    8次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码