将字典转换为元组的(const)元组

convert a dict into a (const) tuple of tuples

我想将字典转换为元组的元组

from typing import Dict, Tuple
class Data:
    def __init__(self, d: Dict[int, str]) -> None:
        self.data: Tuple[Tuple[int, str], ...] = ()
        for k, v in d.items():
            self.data += ((k, v),)

d = Data({5: "five", 4: "four"})
print(d.data)

这与 this question 有点相似,但不完全相同。我更喜欢元组的元组的原因是常量。有没有更好的方法(或更多 pythonic)来实现这个?

你可以做到 tuple(d.items()).

试试这个:

myDict = {5:"five",4:"four"}

def dictToTuple(d):
   return tuple(d.items())

print(dictToTuple(myDict))

看来这个问题可能是 this, and the fourth answer there (@Tom) 的重复问题,它表示 元组构造 列表理解 [=16= 的最快速度]:

self.data: Tuple[Tuple[int, str], ...] = tuple([(k, v) for k, v in d.items()])