3 回答
TA贡献1810条经验 获得超4个赞
已编辑
首先,如果你在 python < 3.6 上,dict不保持项目的顺序。您可能想要collections.OrderedDict用于您的目的。
d = {"k1":1, "k2":2, "k3":3}
d.keys()
# dict_keys(['k2', 'k1', 'k3'])
然而,
d = OrderedDict()
d['k1'] = 1
d['k2'] = 2
d['k3'] = 3
d.keys()
# odict_keys(['k1', 'k2', 'k3'])
使用我们的 new d,您可以添加键和值并将其反转:
res = ''
for k, v in d.items():
res += str(k) + str(v)
res[::-1]
# '33k22k11k'
或反向迭代:
res = ''
for k, v in reversed(d.items()):
res += str(v)[::-1] + str(k)[::-1]
res
# '33k22k11k'
TA贡献1877条经验 获得超6个赞
为什么不简单地做:
print(''.join([a+str(b) for a,b in dict.items()])[::-1])
输出:
"33k22k11k"
但如果值与键不同,请执行以下操作:
print(''.join([str(b)[::-1]+a for a,b in dict.items()[::-1]]))
TA贡献1790条经验 获得超9个赞
也许你可以做这样的事情:
dict = {"k1":1, "k2":2, "k3":3}
print("".join(list(reversed([str(v)+"".join(reversed(k)) for k, v in dict.items()]))))
输出:
33k22k11k
添加回答
举报