簡體   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