您好,登錄后才能下訂單哦!
利用python怎么將元組轉換為namedtuple?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
如果要將其轉換為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 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
看完上述內容,你們掌握利用python怎么將元組轉換為namedtuple的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。