pythontuple數據類型_數據類型-元組Tuple

Python Tuple用于存儲不可變python對象的序列。元組類似于列表,因為可以改變列表中存儲的項的值,而元組是不可變的,并且不能改變存儲在元組中的項的值。

元組可以寫成用小括號括起來的逗號分隔值的集合。元組可以定義如下。T1?=?(101,?"Ayush",?22)

T2?=?("Apple",?"Banana",?"Orange")

例1tuple1?=?(10,?20,?30,?40,?50,?60)

print(tuple1)

count?=?0

for?i?in?tuple1:

print("tuple1[%d]?=?%d"%(count,?i));

輸出:(10,20,30,40,50,60)

tuple1?[0]?=?10

tuple1?[0]?=?20

tuple1?[0]?=?30

tuple1?[0]?=?40

tuple1?[0]?=?50

tuple1?[0]?=?60

例2tuple1?=?tuple(input("Enter?the?tuple?elements?..."))

print(tuple1)

count?=?0

for?i?in?tuple1:

print("tuple1[%d]?=?%s"%(count,?i));

輸出:

Enter?the?tuple?elements?...12345

('1',?'2',?'3',?'4',?'5')

tuple1[0]?=?1

tuple1[0]?=?2

tuple1[0]?=?3

tuple1[0]?=?4

tuple1[0]?=?5

但是,如果我們嘗試重新分配元組的項目,元組會報錯誤,因為元組對象不支持項目分配。

元組是不可變數據類型

空元組可以寫成如下。T3?=?()

具有單個值的元組必須包含下面給出的逗號。T4?=?(90,)

元組的索引方式與列表相同。可以使用特定索引值訪問元組中的項。

元組索引和拆分

元組中的索引和切片類似于列表。元組中的索引從0開始并轉到長度(元組) - 1。

可以使用切片運算符訪問元組中的項。Python還允許我們使用冒號運算符來訪問元組中的多個項目。

通過以下圖像以詳細了解索引和切片。

1ec1c9f46449d5f85558ff663f2aaeba.png

與列表不同,使用del關鍵字無法刪除元組項,因為元組是不可變的。要刪除整個元組,我們可以將del關鍵字與元組名稱一起使用。

請學習以下示例。tuple1?=?(1,?2,?3,?4,?5,?6)

print(tuple1)

del?tuple1[0]

print(tuple1)

del?tuple1

print(tuple1)

輸出:

(1,?2,?3,?4,?5,?6)

Traceback?(most?recent?call?last):

File?"tuple.py",?line?4,?in?

print(tuple1)

NameError:?name?'tuple1'?is?not?defined

與列表一樣,可以在兩個方向上訪問元組元素。可以使用索引-1訪問元組的最右邊元素(最后一個)。使用負索引遍歷從左到右的元素。tuple1?=?(1,?2,?3,?4,?5)

print(tuple1[-1])

print(tuple1[-4])

輸出:

5

2

基本元組操作

連接(+),重復(*),成員(in)等運算符的工作方式與它們使用列表的方式相同。請考慮下表以獲取更多詳細信息。

假設Tuple t =(1,2,3,4,5)和Tuple t1 =(6,7,8,9)。

運算符描述示例

重復重復運算符使元組元素重復多次。T1 * 2 ? =(1,2,3,4,5,1,2,3,4,5)

級聯它連接運算符兩側提到的元組。T1?+?T2???=(1,2,3,4,5,6,7,8,9)

in如果元組中存在特定項,則返回true,否則返回false。print (2 in T1)

True.

迭代for循環用于迭代元組元素。for i in T1:

print(i)

輸出:

1

2

3

4

5

長度它用于獲取元組的長度。len(T1)= 5

Python Tuple內置函數

SN函數描述

1cmp(tuple1, tuple2)比較兩個元組元素。

2len(tuple)計算元組元素個數。

3tuple(seq)將列表轉換為元組。

4min(tuple)返回元組中元素最小值。

5max(tuple)返回元組中元素最大值。

哪里使用元組

在以下場景中使用元組而不是列表。

1.使用元組而不是列表讓我們清楚地知道元組數據是常量且不得更改。

元組可以在沒有鍵的情況下模擬字典。考慮以下嵌套結構,它可以用作字典。

[(101, "John", 22), (102, "Mike", 28),? (103, "Dustin", 30)]

由于其不可變性,元組可以用作字典中的鍵。

列表與元組的對比

SN列表List元組Tuple

1列表的文字語法由[]顯示。元組的文字語法由()顯示。

2列表是可變的。元組是不可變的。

3列表具有可變長度。元組具有固定長度。

4該列表提供了比元組更多的功能。元組提供的功能少于列表。

5列表用于我們需要存儲簡單集合而沒有約束的場景中,其中可以更改項的值。元組用于我們需要存儲只讀集合的情況,即,項目的值不能更改。它可以用作字典中的鍵。

嵌套列表和元組

我們可以將列表中的元組或元組內的列表存儲到任意級別。

讓我們看一個如何將元組存儲在列表中的示例。Employees?=?[(101,?"Ayush",?22),?(102,?"john",?29),?(103,?"james",?45),?(104,?"Ben",?34)]

print("----Printing?list----");

for?i?in?Employees:

print(i)

Employees[0]?=?(110,?"David",22)

print();

print("----Printing?list?after?modification----");

for?i?in?Employees:

print(i)

輸出:----Printing?list----

(101,?'Ayush',?22)

(102,?'john',?29)

(103,?'james',?45)

(104,?'Ben',?34)

----Printing?list?after?modification----

(110,?'David',?22)

(102,?'john',?29)

(103,?'james',?45)

(104,?'Ben',?34)

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

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

相關文章

《劍指Offer》24:反轉鏈表

題目 定義一個函數,輸入一個鏈表的頭節點,反轉鏈表并輸出反轉后鏈表的頭節點。鏈表節點定義如下: public static class ListNode{public int val;public ListNode next;public ListNode(int val) {this.val val;} }分析 方法一&#xff1…

python兩個for循環為什么第二個循環里值不變_兩個for循環,第二個只在第一個迭代python上執行...

我是一個pythonnoob,我試圖比較兩個文件中的行之間的值,如果行在第二個文件中,則輸出“line name”,然后輸出1;如果第二個文件中缺少該行,則輸出0。第一次迭代返回1,因為該行在第二個文件中&…

python如何問問題_學會正確的提問

可能很多讀者看到這個標題會感覺很可笑,提問誰不會啊,互聯網時代,提問還不是一句話的事情?個人、技術群、論壇里都可以提問啊,「你好」「在嗎?」「有人用過 xx 工具嗎?」。首先,提問…

如何保證接口的冪等性

如何保證接口的冪等性 什么是冪等性 冪等性是系統服務對外一種承諾,承諾只要調用接口成功,外部多次調用對系統的影響是一致的。聲明為冪等的服務會認為外部調用失敗是常態,并且失敗之后必然會有重試。 通俗地說,接口冪等性就是…

mysql二進制方式_MySQL數據庫之MySql二進制連接方式詳解

本文主要向大家介紹了MySQL數據庫之MySql二進制連接方式詳解 ,通過具體的內容向大家展現,希望對大家學習MySQL數據庫有所幫助。使用mysql二進制方式連接您可以使用MySQL二進制方式進入到mysql命令提示符下來連接MySQL數據庫。實例以下是從命令行中連接my…

xposed模塊編寫教程_太極xposed模塊使用教程

今天給大家分享一下太極xposed模塊使用教程。很多小伙伴說下載不到Xposed模塊,這個網上其實很多,但是第三方的下載站就算了吧。我也是一個深受其害的網癮少年,只要是下載站的軟件,一不留心一次性電腦可能會多安裝好多個軟件&#…

如何使用mysql添加更新_Mysql 存在既更新,不存在就添加(sql語句)

討人喜歡的 MySQL replace into 用法(insert into 的增強版)在向表中插入數據的時候,經常遇到這樣的情況:1. 首先判斷數據是否存在; 2. 如果不存在,則插入;3.如果存在,則更新。在 SQL Server 中可以這樣處理…

linux + nginx + mysql + php 百度網盤_5.LNMP(Linux + Nginx + MySQL + PHP)環境安裝

1.安裝Nginx:yum install yum-priorities -ywget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpmrpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpmyum -y install nginxsystemctl start nginx.servicesystemctl stop ngin…

LeetCode - Easy - 28. Implement strStr()

Topic Two Pointers, String Description https://leetcode.com/problems/implement-strstr/ Implement strStr(). Return the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. needle /?ni?dl/ n.針 haystack /?he?…

mysql item_MySQL源代碼:關于MySQL的Item對象

前篇介紹了MySQL如何從SQL語句轉換成一個內部對象。本文是前篇的延續,將更加詳細的介紹WHERE語句對應的Item對象。1. Item對象MySQL InternalMySQL Internals Manual較為詳細的介紹了Item對象。Item對象經常被稱作"thingamabob"(A thingamabob is a noun …

python的發展趨勢圖_用Python繪制趨勢圖

我在數據幀中有以下數據:-------------------------------------------------------| Physician Profile Id | Program Year | Value Of Interest |-------------------------------------------------------| 1004777 | 2013 | 83434288.00 || 1004777 | 2014 | 89…

mysql的實現類注解_Mybaits (XML方式:無需在寫Dao的實現類 注解方式:Dao的實現類與Mapper都可以不寫 重點理解)...

Maven的pom.xml 坐標配置4.0.0Mybatis_mavenday01_mbatis1.0-SNAPSHOTjarorg.mybatismybatis3.4.5mysqlmysql-connector-java5.1.45junitjunit4.12testorg.apache.maven.pluginsmaven-compiler-plugin2.3.21.81.8UTF-8mybatis的配置文件/p>PUBLIC "-//mybatis.org//DTD…

SQL字符串中單引號與換行符的轉義

問題 打算將文本文件內容添加至MySQL數據庫,則需要對文本中的單引號和換行符進行轉義,否則無法編寫合法的SQL。 解法 迭代文本文件的行時,將原行尾的換行符剔除掉,并拼接\\n;迭代文本文件的行時,將原行中的替換成。…

mysql 建庫字段_MySQL 的字段類型以及建庫策略

一、數字類型所謂的“數字類”,就是指 DECIMAL 和NUMERIC,它們是同一種類型。它嚴格的說不是一種數字類型,因為他們實際上是將數字以字符串形式保存的;他的值的每一位(包括小數點)占一個字節的存儲空間,因此這種類型耗…

mysql中建立text_mysql中text

一,char類型char列的長度固定為創建表時聲明的長度。長度可以為從0到255的任何值。當保存char值時,在它們的右邊填充空格以達到指定的長度。當檢索到char值時,尾部的空格被刪除掉。在存儲或檢索過程中不進行大小寫轉換。二,varcha…

前后分離接口規范

前后分離接口規范 隨著互聯網的高速發展,前端頁面的展示、交互體驗越來越靈活、炫麗,響應體驗也要求越來越高,后端服務的高并發、高可用、高性能、高擴展等特性的要求也愈加苛刻,從而導致前后端研發各自專注于自己擅長的領域深耕…

mysql proxy 悲觀鎖_mysql悲觀鎖總結和實踐

使用場景舉例:以MySQL InnoDB為例商品t_goods表中有一個字段status,status為1代表商品未被下單,status為2代表商品已經被下單,那么我們對某個商品下單時必須確保該商品status為1。假設商品的id為1。一、如果不采用鎖,那…

MySQL吉連_Learn Jdbc : Java, Jdbc, Odbc

Learn Jdbc : Java, Jdbc, Odbc 介紹Learn Jdbc : Java, Jdbc, OdbcLearn JDBC we precisely name what we are going to help you for Learning.As you are Beginner we keep in mind the same thing,we think like you and try to Build Apps Like Java Deep Learning,Java B…

python虛擬環境打包deb_可以為python腳本創建deb包嗎?

下面是python腳本源包的一個基本示例。雖然大多數打包教程都有點復雜,但如果遇到問題,它們確實可以幫助您。也就是說,我首先通過簡單地查看Debian包來學習Debian打包的基礎知識。獲取相似的源代碼并通過示例學習。在以下是您的基本源程序包布…

python順序結構實驗報告_Python 數據結構 之 串 的順序存儲結構

本文所采用的數據結構模板為 《數據結構教程》C語言版,李春葆、尹為民等著。改篇所涉及到的是 串 的順序存儲結構。用Python仿照C語言來實現。代碼地址:串 的順序存儲結構:# !/usr/bin/env python# -*- coding: utf-8 -*-__author__ MrHero""…