繁体   English   中英

如何从字典的 output 中删除括号

[英]How can i remove brackets from the output of dictionary

在 output 中的值用方括号打印如何删除它们?

Test= {'Python':['classes','labs','tutorial'], 'Math': 
('classes','tutorial'), 'Java':['classes',{'labs':['corejava','adv 
java']}]}

for subject, details in Test.items(): 
     print(subject, "->", details)


print("after updating...")   

Test2 = {'Math':('classes','tutorial','labs')}
Test.update(Test2)
for subject, details in Test.items(): 
    print(subject, "->", details) 

对于这种特殊情况,我将这样做:

Test= {'Python':['classes','labs','tutorial'], 'Math': 
('classes','tutorial'), 'Java':['classes',{'labs':['corejava','adv java']}]}

for subject, details in Test.items(): 
     print(subject, "->", details)


print("after updating...")   

Test2 = {'Math':('classes','tutorial','labs')}
Test.update(Test2)
for subject, details in Test.items(): 
    try:
        print(subject, "->", ' '.join(details)) 
    except TypeError:
        print(subject, "->", ''.join(details[0]),''.join(list(details[1])),' '.join(details[1]['labs']))

Output:

Python -> ['classes', 'labs', 'tutorial']
Math -> ('classes', 'tutorial')
Java -> ['classes', {'labs': ['corejava', 'adv java']}]
after updating...
Python -> classes labs tutorial
Math -> classes tutorial labs
Java -> classes labs corejava adv java

然而

您会看到括号中的值,因为这就是lists的显示方式,并且tuples在括号之间显示。 如果您想消除列表,那么您可以单独打印每个值并将 append 打印成一个字符串,或者将整个列表变成一个大字符串并消除括号。 在最后 3 行中,我添加了以下内容:

for subject, details in Test.items(): 
    print(subject, "->", details)
    print(type(details)) 

这导致了我之前谈到的output:

Python -> ['classes', 'labs', 'tutorial']
<class 'list'>
Math -> ('classes', 'tutorial', 'labs')
<class 'tuple'>
Java -> ['classes', {'labs': ['corejava', 'adv java']}]
<class 'list'>

如果您不想要任何括号,则可以遍历各个键并打印它们。 这是选项之一

Test= {'Python':['classes','labs','tutorial'], 'Math':  ('classes','tutorial'), 'Java':['classes',{'labs':['corejava','adv java']}]}

for subject, details in Test.items():
    print('\n'+ subject, "->", end=' ')
    for details in details:
        if( isinstance(details,dict)):
            for subject, details in details.items():
                print('\n'+ subject, "->", end=' ')
                if(isinstance(details,dict)):
                    for subject, details in details.items():
                        print('\n'+ subject, "->", end=' ')
                        print(' '.join(details))
                else:
                    print(' '.join(details))
        else:
            print(details, end=' ')

更新:被认为是内部命令

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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