【问题标题】:How to print out a dict with nice output如何打印出具有良好输出的字典
【发布时间】:2020-10-20 14:50:55
【问题描述】:

我想知道如何在同一行打印 list[:4] 中的前 4 个单词,然后在下一行打印下一个 4 [4:8],依此类推。我有一本超过 1000 个单词的字典,我不想在 1 行上打印 1 个单词,因为这样垂直输出就会永远持续下去。我想在一行上将它们分成 4 个。 有什么建议吗?

【问题讨论】:

  • 将键、值或项目转换为列表,就像处理列表一样。
  • 就是这样,我也不知道如何使用列表。

标签: python-3.x string list dictionary


【解决方案1】:

你可以尝试使用 python 的 pprint 模块 参考https://docs.python.org/3/library/pprint.html

【讨论】:

    【解决方案2】:

    对于字典:

    #let your dict be dict1
    val = list(dict1.values())
    key = list(dict1.keys())
    print(val)
    print(key)
    for i in range(len(val)):
        if i // 4 == (i+1)// 4:
            print(dict1[key[i]], end=" ")
        else:
            print(dict1[key[i]], end="\n")
    

    【讨论】:

    • 感谢它的魅力!是否可以对 f-string 执行相同的操作并使用格式?
    • 不,我不知道可以通过格式完成的方式
    • “感谢您的反馈!声望低于 15 人的投票会被记录下来,但不要更改公开显示的帖子得分。”
    • 现在也许你可以:)
    • 另一种投票方式是接受答案
    【解决方案3】:

    给定字典

    d = {i: i * i for i in range(200)}
    

    from pprint import pprint    
    pprint(list(d.items()), compact=True)
    

    打印出来的

    [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25), (6, 36), (7, 49), (8, 64),
     (9, 81), (10, 100), (11, 121), (12, 144), (13, 169), (14, 196), (15, 225),
     (16, 256), (17, 289), (18, 324), (19, 361), (20, 400), (21, 441), (22, 484),
     (23, 529), (24, 576), (25, 625), (26, 676), (27, 729), (28, 784), (29, 841),
     (30, 900), (31, 961), (32, 1024), (33, 1089), (34, 1156), (35, 1225),
     (36, 1296), (37, 1369), (38, 1444), (39, 1521), (40, 1600), (41, 1681),
     (42, 1764), (43, 1849), (44, 1936), (45, 2025), (46, 2116), (47, 2209),
     (48, 2304), (49, 2401), (50, 2500), (51, 2601), (52, 2704), (53, 2809),
     (54, 2916), (55, 3025), (56, 3136), (57, 3249), (58, 3364), (59, 3481),
     (60, 3600), (61, 3721), (62, 3844), (63, 3969), (64, 4096), (65, 4225),
     (66, 4356), (67, 4489), (68, 4624), (69, 4761), (70, 4900), (71, 5041),
     (72, 5184), (73, 5329), (74, 5476), (75, 5625), (76, 5776), (77, 5929),
     (78, 6084), (79, 6241), (80, 6400), (81, 6561), (82, 6724), (83, 6889),
     (84, 7056), (85, 7225), (86, 7396), (87, 7569), (88, 7744), (89, 7921),
     (90, 8100), (91, 8281), (92, 8464), (93, 8649), (94, 8836), (95, 9025),
     (96, 9216), (97, 9409), (98, 9604), (99, 9801), (100, 10000), (101, 10201),
     (102, 10404), (103, 10609), (104, 10816), (105, 11025), (106, 11236),
     (107, 11449), (108, 11664), (109, 11881), (110, 12100), (111, 12321),
     (112, 12544), (113, 12769), (114, 12996), (115, 13225), (116, 13456),
     (117, 13689), (118, 13924), (119, 14161), (120, 14400), (121, 14641),
     (122, 14884), (123, 15129), (124, 15376), (125, 15625), (126, 15876),
     (127, 16129), (128, 16384), (129, 16641), (130, 16900), (131, 17161),
     (132, 17424), (133, 17689), (134, 17956), (135, 18225), (136, 18496),
     (137, 18769), (138, 19044), (139, 19321), (140, 19600), (141, 19881),
     (142, 20164), (143, 20449), (144, 20736), (145, 21025), (146, 21316),
     (147, 21609), (148, 21904), (149, 22201), (150, 22500), (151, 22801),
     (152, 23104), (153, 23409), (154, 23716), (155, 24025), (156, 24336),
     (157, 24649), (158, 24964), (159, 25281), (160, 25600), (161, 25921),
     (162, 26244), (163, 26569), (164, 26896), (165, 27225), (166, 27556),
     (167, 27889), (168, 28224), (169, 28561), (170, 28900), (171, 29241),
     (172, 29584), (173, 29929), (174, 30276), (175, 30625), (176, 30976),
     (177, 31329), (178, 31684), (179, 32041), (180, 32400), (181, 32761),
     (182, 33124), (183, 33489), (184, 33856), (185, 34225), (186, 34596),
     (187, 34969), (188, 35344), (189, 35721), (190, 36100), (191, 36481),
     (192, 36864), (193, 37249), (194, 37636), (195, 38025), (196, 38416),
     (197, 38809), (198, 39204), (199, 39601)]
    

    【讨论】:

    • 感谢您的解决方案!是否可以将其转换为字符串然后使用 f-string 对其进行格式化?
    猜你喜欢
    • 2017-11-25
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 2021-12-31
    • 2020-07-20
    • 2019-03-20
    • 1970-01-01
    • 2012-06-08
    相关资源
    最近更新 更多