python - 反转字典中的键值(Python 中的高级反转字符串)
问题描述
所以我试图做的是输出字符串“33k22k11k”,它只是最后一个值,后跟反向的最后一个键,然后是倒数第二个值,然后是倒数第二个键,依此类推。我不确定如何为我所在的特定循环获取反向键值。从我目前拥有的代码中,我得到输出:
dict = {"k1":1, "k2":2, "k3":3}
current=""
current_k=""
for k,v in dict.items():
for i in k:
current_k=i+current_k
current=str(v)+current_k+current
print(current)
print(current_k)
33k2k1k22k1k11k
3k2k1k
解决方案
已编辑
首先,如果你在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'
推荐阅读
- c++ - 什么是“__static_initialization_and_destruction_0”以及如何解决这个问题?
- c# - PowerPoint 文件中的图表轴
- swift - 无法连接并输入字段到函数/类
- azure-devops - 安全按钮 Azure Devops 消失
- javascript - 通过 JavaScript 使用向上和向下箭头键启用滚动
- android - 蓝牙配置文件 A2DP 和 SPP 是否用于从蓝牙麦克风录制音频?
- python - python线程和它们之间的队列消息
- linux - 为什么挂载的 hostPath 在 GKE 的 kubernetes 上不起作用
- java - 试图在java中打印数组
- python - 将 CSV 文件读入带有重复条目的 python 字典