python中把元組轉(zhuǎn)換為namedtuple方法
我們可以把表里每一個(gè)橫行的數(shù)據(jù),看成是不同的元組。在理解了這個(gè)概念后,昨天我們學(xué)了不少的namedtuple類,是否也能把元組轉(zhuǎn)換成namedtuple呢?當(dāng)然這是一個(gè)嘗試,很多小伙伴平時(shí)使用的時(shí)候會(huì)很少用到,而且資料的搜集方面也比較難找。小編也搜集了很久才有收獲,本篇就為大家?guī)?lái)元組在python中轉(zhuǎn)換為namedtuple的方法。
之前我們了解了為什么使用namedtuple,現(xiàn)在該學(xué)習(xí)如何將常規(guī)元組和轉(zhuǎn)換為namedtuple了。假設(shè)由于某種原因,有包含彩色RGBA值的實(shí)例。如果要將其轉(zhuǎn)換為Color namedtuple,則可以按以下步驟進(jìn)行:
>>> c = {"r": 50, "g": 205, "b": 50, "alpha": alpha} >>> Color(**c) >>> Color(r=50, g=205, b=50, alpha=0)
我們可以利用該**結(jié)構(gòu)將包解壓縮dict為namedtuple。
元組類似于列表,是一個(gè)基于位置的有序?qū)ο蠹?,但是元組一旦創(chuàng)建之后就不能更改,因此列表中修改元素的操作對(duì)于元組都不適用。
使用()就可以創(chuàng)建元組,元素之間使用英文逗號(hào),隔開。
num_tuple = (1, 2, 3) string_tuple = ("a", )
如果我想從dict創(chuàng)建一個(gè)namedtupe,如何做?
>>> c = {"r": 50, "g": 205, "b": 50, "alpha": alpha} >>> Color = namedtuple("Color", c) >>> Color(**c) Color(r=50, g=205, b=50, alpha=0)
過(guò)將dict實(shí)例傳遞給namedtuple工廠函數(shù),它將為你創(chuàng)建字段。然后,Color像上邊的例子一樣解壓字典c,創(chuàng)建新實(shí)例。
運(yùn)行代碼后,就可以把元組轉(zhuǎn)換為namedtuple了。
元組轉(zhuǎn)換為namedtuple實(shí)例擴(kuò)展:
在內(nèi)部使用namedtuples,但我想保持與提供普通元組的用戶的兼容性。
from collections import namedtuple tuplePi=(1,3.14,"pi") #Normal tuple Record=namedtuple("MyNamedTuple", ["ID", "Value", "Name"]) namedE=Record(2, 2.79, "e") #Named tuple namedPi=Record(tuplePi) #Error TypeError: __new__() missing 2 required positional arguments: 'Value' and 'Name' tuplePi.__class__=Record TypeError: __class__ assignment: only for heap types
到此這篇關(guān)于python中把元組轉(zhuǎn)換為namedtuple方法的文章就介紹到這了,更多相關(guān)元組在python中如何轉(zhuǎn)換為namedtuple內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談python的dataframe與series的創(chuàng)建方法
今天小編就為大家分享一篇淺談python的dataframe與series的創(chuàng)建方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11關(guān)于Python 中的時(shí)間處理包datetime和arrow的方法詳解
這篇文章主要介紹了關(guān)于Python 中的時(shí)間處理包datetime和arrow的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03Python設(shè)計(jì)足球聯(lián)賽賽程表程序的思路與簡(jiǎn)單實(shí)現(xiàn)示例
足球聯(lián)賽的賽制就是一支隊(duì)伍在一個(gè)賽季中主客場(chǎng)分別面對(duì)聯(lián)賽中除了自身以外的球隊(duì)一次,對(duì)此我們可以使用一種循環(huán)算法來(lái)實(shí)現(xiàn),接下來(lái)就一起來(lái)看一下Python設(shè)計(jì)足球聯(lián)賽賽程表程序的思路與簡(jiǎn)單實(shí)現(xiàn)示例:2016-06-06Python 結(jié)巴分詞實(shí)現(xiàn)關(guān)鍵詞抽取分析
這篇文章主要介紹了Python 結(jié)巴分詞實(shí)現(xiàn)關(guān)鍵詞抽取分析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10Python 基于win32com客戶端實(shí)現(xiàn)Excel操作的詳細(xì)過(guò)程
這篇文章主要介紹了Python 基于win32com客戶端實(shí)現(xiàn)Excel操作的詳細(xì)過(guò)程,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05