【问题标题】:convert a dict into a (const) tuple of tuples [duplicate]将dict转换为元组的(const)元组[重复]
【发布时间】:2022-01-05 13:14:35
【问题描述】:

我想将一个字典转换成一个元组的元组

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,但不完全相同。我更喜欢元组的原因是为了 const-ness。有没有更好的方法(或更 Pythonic)来实现这一点?

【问题讨论】:

    标签: python dictionary tuples constants


    【解决方案1】:

    你可以tuple(d.items())

    【讨论】:

      【解决方案2】:

      试试这个:

      myDict = {5:"five",4:"four"}
      
      def dictToTuple(d):
         return tuple(d.items())
      
      print(dictToTuple(myDict))
      

      【讨论】:

        【解决方案3】:

        看来这个问题可能是this 的重复问题,而那里的第四个答案 (@Tom) 指出,列表理解元组构造是最快的>:

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

        【讨论】:

          猜你喜欢
          • 2023-03-14
          • 2017-06-27
          • 1970-01-01
          • 2014-09-21
          • 2021-05-19
          • 1970-01-01
          • 1970-01-01
          • 2018-05-28
          • 2017-07-30
          相关资源
          最近更新 更多