」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > PCEP 認證準備的 Python 元組和列表提示

PCEP 認證準備的 Python 元組和列表提示

發佈於2024-11-08
瀏覽:862

Python Tuples and Lists Tips for PCEP Certification Preparation

立志成为 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 考试做好充分准备。请记住在不同场景中练习使用这些数据结构,以巩固您的知识并增加通过考试的机会。请记住,熟能生巧!

版本聲明 本文轉載於:https://dev.to/myexamcloud/python-tuples-and-lists-tips-for-pcep-certification-preparation-2gkf?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 比較 Python 和 ArkScript 非同步模型
    比較 Python 和 ArkScript 非同步模型
    Python 最近受到了很多关注。计划于今年 10 月发布的 3.13 版本将开始删除 GIL 的艰巨工作。对于想要尝试(几乎)无 GIL Python 的好奇用户来说,预发行版已经发布。 所有这些炒作让我用我自己的语言 ArkScript 进行挖掘,因为我过去也有一个全局 VM 锁(在 2020 ...
    程式設計 發佈於2024-11-08
  • 頂級 VS Code 擴充功能成為 JavaScript 精靈
    頂級 VS Code 擴充功能成為 JavaScript 精靈
    Writing code is hard. As a JavaScript developer, you’ve probably felt the pressure of juggling multiple tasks — writing clean code, debugging tricky i...
    程式設計 發佈於2024-11-08
  • 如何計算 Python 中 ndarray 的出現次數?
    如何計算 Python 中 ndarray 的出現次數?
    計數ndarray 中的出現次數在numpy 中,嘗試執行以下操作時可能會遇到錯誤「numpy.ndarray 物件沒有屬性計數」使用.count() 方法來計算陣列中特定值的出現次數。 使用numpy.unique解決這個問題的方法是使用 numpy.unique()。此函數識別數組中的唯一值並提...
    程式設計 發佈於2024-11-08
  • 似乎沒有人談論的一件事
    似乎沒有人談論的一件事
    我認為我們大多數軟體開發人員發生的第一件事導致我們失去希望,那就是我們被迫走捷徑。 我們基本上被告知你必須在一定的期限內完成。 我們開始做一些工作,當我們接近最後期限時,我們不可避免地意識到這將花費我們比我們想像的更長的時間。 如果您一直在編程或進行軟體開發。 無論您是從事維運、使用者體驗或...
    程式設計 發佈於2024-11-08
  • 如何在 PHP 中從數組產生查詢字串?
    如何在 PHP 中從數組產生查詢字串?
    在PHP 中從陣列建立查詢字串PHP 框架提供了專門為從陣列建立查詢字串而設計的多功能函數:http_build_query()。此函數的主要目的是將鍵值對陣列轉換為標準 URL 編碼的查詢字串。 使用http_build_query()http_build_query( 的語法)如下:string...
    程式設計 發佈於2024-11-08
  • JavaScript 中基本物件和函數連結的原則是什麼?
    JavaScript 中基本物件和函數連結的原則是什麼?
    了解 JavaScript 中的基本物件/函數鏈函數鍊是一種程式設計技術,可讓開發人員建立按特定順序執行的操作序列。在 JavaScript 中,這是透過傳回函數本身和使用 this 關鍵字結合來實現的。 要了解連結的原理,讓我們來看一個工作範例:var one = function(num) { ...
    程式設計 發佈於2024-11-08
  • 開發工具不是必需的
    開發工具不是必需的
    幾個月前我正在開發一個前端專案。該專案是一個微前端,旨在整合到遺留儀表板上。 採用微前端方法的原因是為了降低儀表板上的複雜度。我對這個挑戰感到興奮並投入其中。 我使用 webpack、react 和 typescript 設定微前端。我使用 chakra ui 作為 CSS-IN-JS 框架,使...
    程式設計 發佈於2024-11-08
  • OpenAI 在簡化程式碼方面出奇地好
    OpenAI 在簡化程式碼方面出奇地好
    While browsing the Internet for inspiration, I came across an interesting-looking component. I thought the block with the running ASCII art looked coo...
    程式設計 發佈於2024-11-08
  • 有毒的 Laravel 社區如何摧毀了我對程式設計的熱情。
    有毒的 Laravel 社區如何摧毀了我對程式設計的熱情。
    我仍然记得那件事就像昨天一样,但当我踏上成为一名 Web 开发人员的旅程时,已经是二十多年前了。 我拨打了我的 56k 调制解调器,占用了电话线,这样我就可以浏览一些我最喜欢的网站。然后我想知道如何自己制作。 我发现我可以在 Microsoft Word 中处理 HTML。我创建了一个包含滚动字幕、...
    程式設計 發佈於2024-11-08
  • 與工人一起部署
    與工人一起部署
    按鈕產生器 按鈕產生器是一款旨在簡化 GitHub 上託管專案的部署流程的工具。透過建立「部署到 Cloudflare Workers」按鈕,您可以簡化部署流程,讓使用者只需按一下即可將您的應用程式部署到 Cloudflare Workers。 此按鈕為使用者提供了一種將專案直接...
    程式設計 發佈於2024-11-08
  • 使用 PHP 操作字串
    使用 PHP 操作字串
    字串是程式設計中用來表示字元序列的資料型別。這些字元可以是字母、數字、空格、符號等。在許多程式語言中,字串用單引號 (') 或雙引號 (") 括起來。 字串連線 連接是將兩個或多個字串連接在一起的過程。 <?php $name = "John"; $lastname = "...
    程式設計 發佈於2024-11-08
  • jQuery 可以幫助使用 Comet 模式進行伺服器傳送訊息嗎?
    jQuery 可以幫助使用 Comet 模式進行伺服器傳送訊息嗎?
    利用Comet 透過jQuery 進行伺服器傳送訊息在JavaScript 程式設計領域,伺服器推播功能已經獲得了突出地位,彗星設計模式正在成為一種流行的方法。本文探討了建構在著名 jQuery 函式庫之上的此類解決方案的可用性。 基於 jQuery 的 Comet 實現儘管 Comet 模式很流行...
    程式設計 發佈於2024-11-08
  • 如何在 Keras 中實作 Dice 誤差係數的自訂損失函數?
    如何在 Keras 中實作 Dice 誤差係數的自訂損失函數?
    Keras 中的自訂損失函數:實作Dice 誤差係數在本文中,我們將探討如何建立自訂損失函數在Keras 中,聚焦在Dice 誤差係數。我們將學習實現參數化係數並將其包裝以與 Keras 的要求相容。 實現係數我們的自訂損失函數將需要係數和一個包裝函數。此係數測量 Dice 誤差,該誤差比較目標值和...
    程式設計 發佈於2024-11-08
  • 為什麼 MySQL 會拋出「警告:mysql_fetch_assoc 參數無效」錯誤?
    為什麼 MySQL 會拋出「警告:mysql_fetch_assoc 參數無效」錯誤?
    MySQL 警告:mysql_fetch_assoc 的參數無效問題:嘗試從MySQL 檢索資料時資料庫時,遇到以下錯誤訊息:mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource說明:mysql_fet...
    程式設計 發佈於2024-11-08
  • 在 Python 中使用 ElementTree 的「find」和「findall」方法時如何忽略 XML 命名空間?
    在 Python 中使用 ElementTree 的「find」和「findall」方法時如何忽略 XML 命名空間?
    在ElementTree 的“find”和“findall”方法中忽略XML 命名空間使用ElementTree 模組解析和定位XML 文件中的元素時,命名空間會帶來複雜性。以下介紹如何在 Python 中使用「find」和「findall」方法時忽略命名空間。 當 XML 文件包含命名空間時,會導...
    程式設計 發佈於2024-11-08

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3