【问题标题】:How does one pull a value from within a tuple of tuples?如何从一个元组中提取一个值?
【发布时间】:2020-02-28 00:34:54
【问题描述】:

我的代码中有一个元组元组,称为“翻译”,其中包含字母到数字的转换,例如("A", "1") 是元组之一。从这个元组的元组中,我需要根据用户输入的内容调用一个值(例如,如果他们输入 A、B、C,代码会从元组中回复 1、2、3)。

messageToConvert = str(input('Enter letters to convert: '))
 for numbers in messageToConvert:
     characters_to_decode = messageToConvert.split(',')
 coded_text = []
 for i in characters_to_decode:
     coded_text.append(translations[i])

当我尝试运行它时,我不断收到错误“TypeError:元组索引必须是整数或切片,而不是 str”,因为翻译后的 [i] 是一个变量。我想编程检查输入的所有用逗号分隔的字符,将它们转换为数字,然后将它们作为字符串输出。

【问题讨论】:

  • 鉴于最后一句话,可能还值得研究内置函数ord 和可能(它的反函数)chr。 (例如,print(ord("J") - ord("A") + 1) 的结果是“10”,因为“J”是字母表的第 10 个字母)。

标签: python tuples


【解决方案1】:

如果您想使用一个值来查找另一个值,则使用的适当数据结构是字典。方便的是,您可以使用元组列表创建字典:

>>> tuples = [("A", 1), ("B", 2), ("C", 3)]
>>> dictionary = dict(tuples)
>>> dictionary["B"]
2

您只需构建字典一次,即使您需要进行多次查找。

【讨论】:

  • 感谢回复,我试试看!
猜你喜欢
  • 2021-01-30
  • 1970-01-01
  • 2011-03-09
  • 2020-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-20
  • 1970-01-01
相关资源
最近更新 更多