元組推導式

自學python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

使用元組推導式可以快速生成一個元組,它的表現形式和列表推導式類似,只是將列表推導式中的“[]”修改為“()”。例如,我們可以使用下面的代碼生成一個包含10個隨機數的元組。

import?random???????????????????????????????????#?導入random標準庫

randomnumber = (random.randint(10,100)?for?i?in?range(10))

print("生成的元組為:",randomnumber)

執行結果如下:

生成的元組為:?<generator object <genexpr> at 0x0000000003056620>

從上面的執行結果中,可以看出使用元組推導式生成的結果并不是一個元組或者列表,而是一個生成器對象,這一點和列表推導式是不同的。要使用該生成器對象可以將其轉換為元組或者列表。其中,轉換為元組使用tuple()函數,而轉換為列表則使用list()函數。

例如,使用元組推導式生成一個包含10個隨機數的生成器對象,然后將其轉換為元組并輸出,可以使用下面的代碼:

import?random???????????????????????????????????#?導入random標準庫

randomnumber = (random.randint(10,100)?for?i?in?range(10))

randomnumber =?tuple(randomnumber)????????????????#?轉換為元組

print("轉換后:",randomnumber)

執行結果如下:

轉換后:?(76, 54, 74, 63, 61, 71, 53, 75, 61, 55)

要使用通過元組推導器生成的生成器對象,還可以直接通過for循環遍歷或者直接使用__next__()方法進行遍歷。

說明:在Python 2.x中,__next__()方法對應的方法為next()方法,也是用于遍歷生成器對象的。

例如,通過生成器推導式生成一個包含3個元素的生成器對象number,然后調用3次__next__()方法輸出每個元素的值,再將生成器對象number轉換為元組輸出,代碼如下:

number = (i?for?i?in?range(3))

print(number.__next__())??????????????????#?輸出第1個元素

print(number.__next__())??????????????????#?輸出第2個元素

print(number.__next__())???????????????????#?輸出第3個元素

number =?tuple(number)??????????????????#?轉換為元組

print("轉換后:",number)

上面的代碼運行后,將顯示以下結果:

0

1

2

轉換后:?()

再如,通過生成器推導式生成一個包括4個元素的生成器對象number,然后應用for循環遍歷該生成器對象,并輸出每一個元素的值,最后再將其轉換為元組輸出,代碼如下:

number = (i?for?i?in?range(4))??????????#?生成生成器對象

for?i?in?number:??????????????????????????#?遍歷生成器對象

????print(i,end=" ")??????????????????????#?輸出每個元素的值

print(tuple(number))???????????????????#?轉換為元組輸出

執行結果如下:

0 1 2 3 ()

從上面的兩個示例中可以看出,無論通過哪種方法遍歷,如果再想使用該生成器對象,都必須重新創建一個生成器對象,因為遍歷后原生成器對象已經不存在了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/16503.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/16503.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/16503.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python深入解析字符串操作的八大神技

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、字符串的長度與切片 示例代碼 二、去除多余的空格 示例代碼 三、字符串的開頭與包含…

元組的創建和刪除

目錄 使用賦值運算符直接創建元組 創建空元組 創建數值元組 刪除元組 自學python如何成為大佬(目錄):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 元組&#xff08;tuple&#xff09;是Python中另一個重要的序列結構&#…

JavaScript 獲取 HTML 中特定父元素下的子元素

JavaScript 獲取 HTML 中特定父元素下的子元素 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <title>查找子元素示例</title> </head> <body><div id"parent"><p&…

CTF-web-攻防世界-2

1、newscenter (1)、訪問網站&#xff0c;一個搜索欄&#xff0c;像是SQL注入漏洞&#xff0c;brup抓包嘗試一下。 輸入2/0、一個單引號、兩個單引號、一個雙引號、兩個雙引號等。發現只有一個單引號時&#xff0c;響應包content-length字段有非常明顯的變化為0。說明有可能是…

關于堆排序

今天我們不刷力扣了&#xff0c;我們來復習&#xff08;手撕&#xff09;一下數據結構中的八大排序算法之一&#xff0c;堆排序 基本概念&#xff1a; 堆是一種特殊的樹形數據結構&#xff0c;即完全二叉樹。 堆分為大頂堆和小頂堆&#xff1a; 大頂堆&#xff1a;每個節點的值…

OrangePi KunPengPro | 開發板開箱測評之學習與使用

OrangePi KunPengPro | 開發板開箱測評之學習與使用 時間&#xff1a;2024年5月23日20:51:12 文章目錄 OrangePi KunPengPro | 開發板開箱測評之學習與使用概述1.參考2.資料、工具3.使用3-1.通過串口登錄系統3-2.通過SSH登錄系統3-3.安裝交叉編譯工具鏈3-4.復制文件到設備3-5.第…

【組合數學】常考試題答案

一、單項選擇題&#xff08;每小題3分&#xff0c;共15分&#xff09; 1. 用3個“1”和4個“0”能組成&#xff08; &#xff09;個不同的二進制數字。 A. 35 B. 36, C. 37, D. 38 2. 整除300的正整數的個數為&#xff08;  &#xff09;。 A. 14…

Anaconda+CUDA+CUDNN+Pycharm+Pytorch安裝教程(第一節 Anconda安裝)

1.選擇和對應的anconda版本 官網地址&#xff1a;Index of / (anaconda.com) 下載地址&#xff1a;Index of /anaconda/archive/ | 清華大學開源軟件鏡像站 | Tsinghua Open Source Mirror 2.安裝流程 (1)下載安裝包 (2)點擊next &#xff08;3&#xff09;點擊I agree &a…

解決Flutter位于懸浮窗口時,應用Logo不更新問題

問題描述 我已經更換了應用Logo&#xff0c;但是發現應用處于懸浮窗口時&#xff0c;logo還是更改之前的&#xff1f;下面的圖片只是示意。 解決方案 終端命令 rm -rf ~/Library/Developer/Xcode/DerivedData2.xcode視圖內解決 先在頂部找到 Xcode --> Setting --> Lo…

操作系統入門系列-MIT6.828(操作系統工程)學習筆記(二)----課程實驗環境搭建(wsl2+ubuntu+quem+xv6)

MIT6.S081&#xff08;操作系統&#xff09;學習筆記 操作系統入門系列-MIT6.828&#xff08;操作系統&#xff09;學習筆記&#xff08;一&#xff09;---- 操作系統介紹與接口示例 操作系統入門系列-MIT6.828&#xff08;操作系統工程&#xff09;學習筆記&#xff08;二&am…

Java面向對象-常用類(日期時間類)

常用類-日期時間類 Date&#xff08;java.util.Date&#xff09; – 日期類 SimpleDateFormat – 格式化日期類 Calendar – 日歷類 1 Date類 java.util.Date類表示特定的瞬間&#xff0c;精確到毫秒。 package com.qf.datetime;import java.util.Date;public class Test01 {…

ubantu20.04 跑通ros2版的orbslam2

我的歷程 先編譯的非ros版的robslam2&#xff08;非常詳細&#xff09; ubuntu20.04配置并編譯ORB-SLAM2_ubuntu20.04安裝orb-lslam2-CSDN博客 然后裝ros2&#xff08;非常詳細&#xff09; 詳細介紹如何在ubuntu20.04中安裝ROS系統&#xff0c;超快完成安裝&#xff08;最…

C#解析xml文件

1、示例 <?xml version"1.0" encoding"utf-8" standalone"no"?><DATA><ITEMS><ITEM><ID>01<ID/><CODE>0001<CODE><NAME>測試1<NAME/></ITEM><ITEM><ID>02<…

福昕PDF編輯器自定義快捷方式

你是否為用不慣福昕PDF編輯器自帶的快捷鍵而發愁&#xff1f;今天&#xff0c;我和大家分享一下如何設置自己想要的快捷鍵方式&#xff0c;希望能對大家有幫助。 步驟一&#xff1a;打開福昕PDF編輯&#xff0c;并找到更多命令 步驟二&#xff1a;切換到鍵盤一欄&#xff0c;并…

分布式專題

一&#xff1a;分布式事務 1、理論基礎 分布式事務主要區分本地事務 什么是本地事務&#xff08;Local Transaction&#xff09;&#xff1f;本地事務也稱為數據庫事務或傳統事務&#xff08;相對于分布式事務而言&#xff09;。尤其對于數據庫而言&#xff0c;為了數據安全…

Android 多張圖片合成GIF

直接用嗶哩嗶哩弄的一個庫&#xff0c;傳送門&#xff1a;https://github.com/bilibili/BurstLinker 他那個庫的文檔寫的比較簡陋&#xff0c;所以我決定&#xff0c;我也寫得十分簡陋 引用&#xff1a; api com.bilibili:burst-linker:0.0.13 使用&#xff1a; /*** param i…

Docker快速搭建Oracle服務

服務器&#xff1a;CentOS7.9 1.安裝docker yum install -y docker 2. 設置鏡像加速 修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 鍵值 阿里云的docker鏡像需要自己注冊賬號&#xff0c;也可以不注冊賬號&#xff0c;直接使用下面的連接。 也可以寫入多…

【C++ 】學習問題及補充

一.自定義類型不初始化直接就賦值&#xff0c;比如string類會怎么樣 vectr<string>里已經給每個string對象已經分配好空間&#xff0c;為什么不初始化再賦值會報錯 在C中&#xff0c;std::string類是一個動態字符串類&#xff0c;它內部管理著一個字符數組&#xff0c;用…

2024東北四省賽——M House

cf上有題解&#xff0c;我寫這個只想說真服了&#xff0c;卡double了導致一直沒做出來 開long double過的 貼一下我的代碼 #include <bits/stdc.h>using namespace std; typedef long double LD; typedef long long LL; #define int LL #define double LD const int N …

【藍橋杯】國賽普及-

題目列表 - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) P9420 [藍橋杯 2023 國 B] 子 2023 / 雙子數 - 洛谷 | 計算機科學教育新生態 (luogu.com.cn) #include<bits/stdc.h> using llunsigned long long; #define int ll const int N2e510; int k0; std::string s; int…