python-3.x - Python 字典和使用格式化打印出元素
问题描述
大家好,我正在努力学习字典,我有这样的字典。
myContacts = {"Fred": 7235591, "Marry": 3841212,
"Bob": 3841212, "Sarah": 2213278}
我写了这段代码,它打印出给定字典中的所有名称和数字。我怎么能这样打印出来;
例如:
Bob 384-1212
我怎么能把“-”那个想法放在中间。
我的代码;
def printAll(contacts):
print("All names and numbers:")
for key in sorted(contacts):
print("%-10s %d" % (key,contacts[key]))
printAll(myContacts)
打印出来;
All names and numbers:
Bob 3841212
Fred 7235591
Marry 3841212
Sarah 2213278
解决方案
您可以将数字转换为字符串,然后在中间切片:
myContacts = {"Fred": 7235591, "Marry": 3841212,
"Bob": 3841212, "Sarah": 2213278}
def printAll(contacts):
print("All names and numbers:")
for key in sorted(contacts):
s = str(contacts[key])
firstpart, secondpart = s[:len(s)//2], s[len(s)//2:]
print('{:<10} {}-{}'.format(key, firstpart, secondpart))
printAll(myContacts)
印刷:
All names and numbers:
Bob 384-1212
Fred 723-5591
Marry 384-1212
Sarah 221-3278
推荐阅读
- sql - SQL Server 存储过程性能问题 - WHILE EXISTS
- c - 当 char 数组转换为 long double 时得到错误的值
- vue.js - 每次编译我的应用程序时都必须创建一个 .nuxt 文件夹
- c# - 可以将 C# 应用程序下载到 Web 浏览器并纯粹在用户的计算机上运行吗?
- javascript - 将函数内部的变量传递给其他函数而不更改其在 Javascript 中的值
- c# - 数组中的最后一个数字成为第一个
- node.js - NodeJS 内存占用和 OOM
- javascript - 无法在 IE 11 中设置输入文件
- docker - Nginx 重定向到 docker 容器时返回错误 404
- qt - 子类化 QTreeWidgetItem