溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

利用python怎么將元組轉換為namedtuple

發布時間:2020-12-10 15:41:47 來源:億速云 閱讀:191 作者:Leah 欄目:開發技術

利用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的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女