在一定长度后将 Python dict 输出中断到新行

Breaking Python dict output onto new line after certain length

我正在尝试找到一种方法来打印字典中的值,以便在一定长度(例如 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()