繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM