python中把元組轉(zhuǎn)換為namedtuple方法
我們可以把表里每一個橫行的數(shù)據(jù),看成是不同的元組。在理解了這個概念后,昨天我們學了不少的namedtuple類,是否也能把元組轉(zhuǎn)換成namedtuple呢?當然這是一個嘗試,很多小伙伴平時使用的時候會很少用到,而且資料的搜集方面也比較難找。小編也搜集了很久才有收獲,本篇就為大家?guī)碓M在python中轉(zhuǎn)換為namedtuple的方法。
之前我們了解了為什么使用namedtuple,現(xiàn)在該學習如何將常規(guī)元組和轉(zhuǎn)換為namedtuple了。假設(shè)由于某種原因,有包含彩色RGBA值的實例。如果要將其轉(zhuǎn)換為Color namedtuple,則可以按以下步驟進行:
>>> 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。
元組類似于列表,是一個基于位置的有序?qū)ο蠹?,但是元組一旦創(chuàng)建之后就不能更改,因此列表中修改元素的操作對于元組都不適用。
使用()就可以創(chuàng)建元組,元素之間使用英文逗號,隔開。
num_tuple = (1, 2, 3)
string_tuple = ("a", )
如果我想從dict創(chuàng)建一個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)
過將dict實例傳遞給namedtuple工廠函數(shù),它將為你創(chuàng)建字段。然后,Color像上邊的例子一樣解壓字典c,創(chuàng)建新實例。
運行代碼后,就可以把元組轉(zhuǎn)換為namedtuple了。
元組轉(zhuǎn)換為namedtuple實例擴展:
在內(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)火柴人的設(shè)計與實現(xiàn)
火柴人(Stick Figure)是一種極簡風格的圖形,通常由簡單的線段和圓圈組成,卻能生動地表達人物的姿態(tài)和動作,本文旨在介紹如何使用Python實現(xiàn)火柴人的設(shè)計與繪制,通過編程的方式,讓讀者了解火柴人背后的基本原理和實現(xiàn)方法,需要的朋友可以參考下2024-10-10
Python實現(xiàn)獲取亂序列表排序后的新下標的示例
本文主要介紹了Python實現(xiàn)獲取亂序列表排序后的新下標的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04
python實現(xiàn)xml轉(zhuǎn)json文件的示例代碼
這篇文章主要介紹了python實現(xiàn)xml轉(zhuǎn)json文件的示例代碼,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12
使用?PyQt5?設(shè)計下載遠程服務(wù)器日志文件程序的思路
這篇文章主要介紹了使用?PyQt5?設(shè)計下載遠程服務(wù)器日志文件程序,借助 PyQt5 強大的能力,我們可以通過“拖拉拽”的形式很容易地實現(xiàn)桌面端程序,只需要將原來的 Python 腳本綁定到 UI 程序的事件中,就實現(xiàn)了命令行程序到桌面程序的演進,需要的朋友可以參考下2022-11-11
使用python解析MDX詞典數(shù)據(jù)并保存為Excel文件
MDX(Mobile Dictionary eXchange)是一種常見的詞典文件格式,通常用于在移動設(shè)備和電腦之間共享辭典數(shù)據(jù),本文深入探討了從MDX詞典數(shù)據(jù)提取、處理到最終保存為Excel文件的全過程,需要的朋友可以參考下2023-12-12

