欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python基礎知識之推導式詳解

 更新時間:2023年07月12日 09:09:03   作者:i阿極(考研版)  
這篇文章主要介紹了Python基礎知識之推導式詳解,Python推導式是一種簡潔高效的代碼編寫方式,可以用一行代碼來創(chuàng)建列表、集合、字典等復雜數(shù)據(jù)結構,需要的朋友可以參考下

1、前言

Python推導式(Comprehension)是一種簡潔高效的代碼編寫方式,可以用一行代碼來創(chuàng)建列表、集合、字典等復雜數(shù)據(jù)結構。

在這里插入圖片描述

Python的推導式主要有以下三種類型:列表推導式、集合推導式和字典推導式。

Python 沒有元組推導式。元組是不可變的數(shù)據(jù)類型,它們通常用于存儲多個不同類型的元素。與列表和字典不同,元組沒有推導式。

雖然沒有元組推導式,但是可以通過生成器表達式生成元組。

2、列表推導式

列表推導式(List comprehension)是一種在Python中快速創(chuàng)建列表的方法。

它的基本語法為:

[ expression for item in iterable if condition ]

expression 是要生成的列表元素的表達式,item 是迭代變量,iterable 是一個可迭代對象,例如列表、元組、字符串、字典等,condition 是可選的條件表達式,用于篩選符合條件的元素。

我們可以用列表推導式來生成一個包含1到10的平方的列表:

squares = [x**2 for x in range(1, 11)]
print(squares) 

在這里插入圖片描述

還可以在列表推導式中添加條件表達式,例如篩選出所有偶數(shù)的平方:

squares = [x**2 for x in range(1, 11) if x % 2 == 0]
print(squares) 

在這里插入圖片描述

3、集合推導式

集合推導式(Set comprehension)是一種在Python中快速創(chuàng)建集合的方法。它的基本語法與列表推導式類似,只是用大括號 {} 來代替中括號 [],例如:

squares = {x**2 for x in range(1, 11)}
print(squares)

在這里插入圖片描述

4、字典推導式

字典推導式(Dictionary comprehension)是一種在Python中快速創(chuàng)建字典的方法。

它的基本語法為:

{key_expression: value_expression for expression in iterable if condition}

key_expression 是字典鍵的表達式,value_expression 是字典值的表達式,expression 是迭代變量,iterable 是一個可迭代對象,例如列表、元組、字符串、字典等,condition 是可選的條件表達式,用于篩選符合條件的元素。

我們可以用字典推導式來生成一個將數(shù)字轉換為其平方的字典:

squares = {x: x**2 for x in range(1, 11)}
print(squares) 

在這里插入圖片描述

在字典推導式中也可以添加條件表達式,來實現(xiàn)篩選符合條件的鍵值對。例如,如果我們想要從一個字典中篩選出所有鍵是偶數(shù)的鍵值對,我們可以這樣實現(xiàn):

original_dict = {1: 'apple', 2: 'banana', 3: 'orange', 4: 'pear'}
new_dict = {key: value for key, value in original_dict.items() if key % 2 == 0}
print(new_dict) 

在這里插入圖片描述

我們使用了條件表達式 if key % 2 == 0 來判斷鍵是否為偶數(shù)。只有符合條件的鍵值對才會被添加到新的字典中。

5、元組推導式

Python 中并不存在元組推導式。元組是不可變的序列類型,它們通常是用來存儲不可變的數(shù)據(jù),例如一些常量或固定的配置信息。雖然你可以使用生成器表達式或 map 函數(shù)對元組中的元素進行處理,但是它們并不是元組推導式,因為它們返回的是生成器或迭代器對象,而不是元組對象。

雖然沒有元組推導式,但是可以通過生成器表達式生成元組,具體的實現(xiàn)方式如下所示:

a = (x for x in range(1,10)) # 生成器表達式
tuple(a) # 使用 tuple() 函數(shù)將生成器轉換為元組

在這里插入圖片描述

首先通過生成器表達式 (x for x in range(1,10)) 創(chuàng)建了一個生成器對象 a,然后通過 tuple() 函數(shù)將其轉換為元組 (1, 2, 3, 4, 5, 6, 7, 8, 9),最終得到一個包含整數(shù) 1 到 9 的元組。

到此這篇關于Python基礎知識之推導式詳解的文章就介紹到這了,更多相關Python推導式內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python數(shù)據(jù)處理之如何選取csv文件中某幾行的數(shù)據(jù)

    python數(shù)據(jù)處理之如何選取csv文件中某幾行的數(shù)據(jù)

    這篇文章主要給大家介紹了關于python數(shù)據(jù)處理之如何選取csv文件中某幾行的數(shù)據(jù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • 淺談Python2、Python3相對路徑、絕對路徑導入方法

    淺談Python2、Python3相對路徑、絕對路徑導入方法

    今天小編就為大家分享一篇淺談Python2、Python3相對路徑、絕對路徑導入方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python3中@dataclass的實現(xiàn)示例

    python3中@dataclass的實現(xiàn)示例

    @dataclass?是 Python 3.7 引入的一個裝飾器,用于方便地定義符合數(shù)據(jù)類協(xié)議的類,本文主要介紹了python3中@dataclass的實現(xiàn)示例,感興趣的可以了解一下
    2024-02-02
  • Python?matplotlib?seaborn繪圖教程詳解

    Python?matplotlib?seaborn繪圖教程詳解

    Seaborn是在matplotlib的基礎上進行了更高級的API封裝,從而使得作圖更加容易,在大多數(shù)情況下使用seaborn就能做出很具有吸引力的圖。本文將詳細講解如何利用Seaborn繪制圖表,需要的可以參考一下
    2022-03-03
  • python運行cmd命令10種方式并獲得返回值的高級技巧

    python運行cmd命令10種方式并獲得返回值的高級技巧

    這篇文章主要給大家介紹了關于python運行cmd命令10種方式并獲得返回值的高級技巧,主要包括python腳本執(zhí)行CMD命令并返回結果的例子使用實例、應用技巧,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • 如何遍歷python中的對象屬性

    如何遍歷python中的對象屬性

    這篇文章主要介紹了如何遍歷python中的對象屬性問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • PyCharm使用教程之搭建Python開發(fā)環(huán)境

    PyCharm使用教程之搭建Python開發(fā)環(huán)境

    由于python的跨平臺性。在windows下和ubuntu下基本上沒什么差別。下面從幾個不步驟來搭建開發(fā)環(huán)境。
    2016-06-06
  • 解決python文件字符串轉列表時遇到空行的問題

    解決python文件字符串轉列表時遇到空行的問題

    下面小編就為大家?guī)硪黄鉀Qpython文件字符串轉列表時遇到空行的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Python基于進程池實現(xiàn)多進程過程解析

    Python基于進程池實現(xiàn)多進程過程解析

    這篇文章主要介紹了Python基于進程池實現(xiàn)多進程過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 深入講解Python中的上下文管理器和with語句

    深入講解Python中的上下文管理器和with語句

    這篇文章主要為大家介紹了Python中的上下文管理器和with語句的深入講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06

最新評論