我正在研究一个问题并得到一个非常接近的答案......基本上,问题是你得到两个词典,你必须找到从两个词典相交的元素然后创建那些元素(一个相同的键来自两个词组和来自两个dics的两个值在新词典中。
a = {'A':17,'B':31,'C':42,'D':7,'E':46,'F':39,'G':9}
b = {'D':8,'E':3,'F':2,'g':5}
def intersect(a,b):
c = set(a).intersection(set(b))
d = {}
for i in c:
if i in a:
d[i] = int(a[i]),int(b[i])
return d
OUTPUT: {'E': (46, 3), 'D': (7, 8), 'F': (39, 2)}
我希望输出像''E':46,3,'D':7,8,'F':39,2}
如何摆脱值周围的括号?
答案 0 :(得分:4)
您编写的代码根本不会输出任何内容。但是,如果要删除括号,则可以使用此方法。
str(intersect(a, b)).replace('(', '').replace(')', '')
或者相当于此,这是更简洁和有效的
str(intersect(a, b)).translate(None, '()')
答案 1 :(得分:0)
您看到的输出是字典的python表示。你已经构建了(并且,据我所知,你已经正确构建它 - 它就是你想要的)是一个字典映射键到项目对。这些对是元组,并且在它们周围用括号打印。
这听起来像你想要的是一种方法,它以你的字典和打印方式,以特定的方式格式化。
像这样的东西会按照你想要的方式打印字典:
def dictionary_printer(d):
print "{%s}" % ', '.join(
[("'%s': %s" % (key, ', '.join(map(str,value))))
for key, value in d.items()]
)