Python 用户输入键的动态字典大小

Python dynamic dictionary size with user input for key

输入最多(但不总是)20 个 1-99 之间的值,由 'or' 分隔,需要与字符串相关联。用户输入将提供值和应该在打印到文本文件输出中替换该值的 "label"。我还可以询问用户他们提供的值的数量。

例如: 用户输入:

1 or 2 or 10 or 60

输入数量:

4

标签输入:

Today, Two Days, One Month, One Year

澄清:输入值在数学上与标签字符串本身不对应,并且是抽象的。

{'1': 'Today', '2': 'Two Days', '10': 'One Month', '60': 'One Year'}

我如何解释用户提供的密钥和未知数量的对?

只要您始终知道这些对会对齐,您就不必担心有多少对。简单地拆分和清理,(我将简单地 map str.strip 进行清理......)然后 zip,然后传递给 dict 类型构造函数:

>>> in_1 = "1 or 2 or 10 or 60"
>>> in_2 = "Today, Two Days, One Month, One Year"
>>> dict(zip(map(str.strip, in_1.split('or')), map(str.strip, in_2.split(','))))
{'1': 'Today', '2': 'Two Days', '60': 'One Year', '10': 'One Month'}

这假设您的输入是 "well-behaved",因此,您可以可靠地拆分 "or" 和逗号:","