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"
和逗号:","
。
输入最多(但不总是)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"
和逗号:","
。