我很难解决我认为应该是一个简单的问题。我有一本字典,它由一个键(代表选项#的整数)和一个值(描述选项的字符串)组成。我需要在输入函数内部的单独一行上打印每个键值对。
file_codes = {2: 'iosFile',
3: 'startup',
4: 'running'}
host_ip = '10.10.10.10'
users_numeric_entry = int(input(f'Please pick a configuration to copy for: {host_ip}\n))
输入提示应如下所示:
Please pick a configuration to copy for: 10.10.10.10
2 - iosFile
3 - startup
4 - running
:
我觉得我需要创建一个for循环来遍历字典,但是我很难拿出代码来实现所需的输出。
答案 0 :(得分:2)
我会先打印出内容,然后仅提示r['response']['docs'][99]
:
如果您使用的是python 2.x,则不对字典进行排序,并且不能保证它将按您期望的顺序打印。在python 3.6及更高版本中,它们是有序的。
答案 1 :(得分:2)
类似这样的东西:
file_codes = {2: 'iosFile',
3: 'startup',
4: 'running'}
host_ip = '10.10.10.10'
menu = '\n'.join(['{} - {}'.format(k, v) for k, v in file_codes.items()])
users_numeric_entry = int(input(f'Please pick a configuration to copy for: {host_ip}\n {menu}'))
答案 2 :(得分:2)
我大力提倡Python中的字符串格式。我建议您研究''.format()选项的功能。
for k, v in sorted(file_codes.items()):
print('{} - {}'.format(k, v))
答案 3 :(得分:-2)
In [34]: file_codes = {2: 'iosFile',
...: 3: 'startup',
...: 4: 'running'}
In [35]: for k,v in sorted(file_codes.items(), key=operator.itemgetter(0)): print(k, '-', v)
2 - iosFile
3 - startup
4 - running