在输出中,值打印时带有方括号,如何删除它们?
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']))
输出:
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
但是
您会看到括号中的值,因为这就是列表
的显示方式,而元组
则显示在括号之间。如果您希望消除列表,那么您可以单独打印每个值并将其附加到字符串中,或者将整个列表变成一个大字符串并消除括号。
在最后 3 行中我添加了以下内容:
for subject, details in Test.items():
print(subject, "->", details)
print(type(details))
这导致了我之前谈到的输出:
Python -> ['classes', 'labs', 'tutorial']
<class 'list'>
Math -> ('classes', 'tutorial', 'labs')
<class 'tuple'>
Java -> ['classes', {'labs': ['corejava', 'adv java']}]
<class 'list'>
关于python - 如何从字典的输出中删除括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58174747/