在输出中,值用方括号打印如何删除?
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)
答案 0 :(得分:0)
对于这种特殊情况,我将按照以下方式处理:
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
您将看到括号中的值,因为这是lists
的显示方式,而tuples
则在括号之间显示。如果要消除列表,则可以单独打印每个值并将其附加到字符串中,也可以将整个列表变成一个大字符串并消除括号。
在最后三行中,我添加了以下内容:
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'>
答案 1 :(得分:0)
如果您不需要任何括号,则可以遍历各个键并进行打印。这是选项之一
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=' ')
更新:已考虑内部禁忌