python中把元組轉換為namedtuple方法
我們可以把表里每一個橫行的數據,看成是不同的元組。在理解了這個概念后,昨天我們學了不少的namedtuple類,是否也能把元組轉換成namedtuple呢?當然這是一個嘗試,很多小伙伴平時使用的時候會很少用到,而且資料的搜集方面也比較難找。小編也搜集了很久才有收獲,本篇就為大家帶來元組在python中轉換為namedtuple的方法。
之前我們了解了為什么使用namedtuple,現在該學習如何將常規元組和轉換為namedtuple了。假設由于某種原因,有包含彩色RGBA值的實例。如果要將其轉換為Color namedtuple,則可以按以下步驟進行:
>>> c = {'r': 50, 'g': 205, 'b': 50, 'alpha': alpha}>>> Color(**c)>>> Color(r=50, g=205, b=50, alpha=0)
我們可以利用該**結構將包解壓縮dict為namedtuple。
元組類似于列表,是一個基于位置的有序對象集合,但是元組一旦創建之后就不能更改,因此列表中修改元素的操作對于元組都不適用。
使用()就可以創建元組,元素之間使用英文逗號,隔開。
num_tuple = (1, 2, 3)string_tuple = ('a', )
如果我想從dict創建一個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工廠函數,它將為你創建字段。然后,Color像上邊的例子一樣解壓字典c,創建新實例。
運行代碼后,就可以把元組轉換為namedtuple了。
元組轉換為namedtuple實例擴展:
在內部使用namedtuples,但我想保持與提供普通元組的用戶的兼容性。
from collections import namedtupletuplePi=(1,3.14,'pi') #Normal tuple Record=namedtuple('MyNamedTuple', ['ID', 'Value', 'Name'])namedE=Record(2, 2.79, 'e') #Named tuplenamedPi=Record(tuplePi) #ErrorTypeError: __new__() missing 2 required positional arguments: ’Value’ and ’Name’tuplePi.__class__=RecordTypeError: __class__ assignment: only for heap types
到此這篇關于python中把元組轉換為namedtuple方法的文章就介紹到這了,更多相關元組在python中如何轉換為namedtuple內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
