![](/img/trans.png)
[英]How to make text in a label go onto the next line after it is a certain length
[英]Breaking Python dict output onto new line after certain length
我试图找到一种方法来打印 dict 中的值,以便在一定长度(例如 5)之后集合中断并在新行上继续。
例子:
dict = {'Upper':'ABCDEFGHI', 'Lower':'abcdefghi', 'Number':'123456789'}
def insertNewlines(text, lineLength):
if len(text) <= lineLength:
return text
else:
return text[:lineLength] + '\n' + insertNewlines(text[lineLength:], lineLength)
for key, val in dict.items():
print(insertNewlines(val,5))
输出
ABCDE
FGHI
abcde
fghi
12345
6789
期望输出:
ABCDE
abcde
12345
FGHI
fghi
6789
假设所有 dict 值具有相同的长度,以下代码将通过以增加的间隔获取字符串切片来提供所需的输出。
dict = {'Upper':'ABCDEFGHI', 'Lower':'abcdefghi', 'Number':'123456789'}
line_length = 5
value_length = len(next(iter(dict.values())))
count = 0
while count * line_length < value_length:
for value in dict.values():
print(value[count * line_length: (count + 1) * line_length])
print()
count += 1
或者类似地,在一个范围内使用 for 循环
import math
for i in range(math.ceil(value_length / line_length)):
for value in dict.values():
print(value[i * line_length: (i + 1) * line_length])
print()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.