python - 如何将字典值转换为字符串
问题描述
如何将此字典的值转换为字符串
d = {(0, 0): 'S', (1, 1): 'T', (2, 2): 'A', (3, 3): 'C',
(4, 4): 'K', (5, 5): 'O', (6, 6): 'V', (5, 7): 'E',
(4, 8): 'R', (3, 9): 'F', (2, 10): 'L', (1, 11): 'O',
(0, 12): 'W', (1, 13): 'T', (2, 14): 'E', (3, 15): 'S',
(4, 16): 'T'}
如何对输出进行排序?
(0, 0), (0, 12),(1, 1),(1, 11) ....
我想获取 str 方法给我的一个字符串中的所有值
dict_values(['S', 'T', 'A', 'C', 'K', 'O', 'V', 'E', 'R', 'F', 'L', 'O', 'W', 'T', 'E', 'S', 'T'])
解决方案
在 python 3.5 及更高版本中,字典保留输入/添加键的顺序。因此,您可以忘记密钥,只需执行以下操作:
"".join(d.values())
但是 1)它在旧版本的 Python 中失败了,2)我想这些键是有目的的。
所以我猜(我真的猜)你想根据元组键的第二个值(忽略第一个值)对字典的值进行排序。
d={(0, 0): 'S', (1, 1): 'T', (2, 2): 'A', (3, 3): 'C', (4, 4): 'K', (5, 5): 'O', (6, 6): 'V', (5, 7): 'E', (4, 8): 'R', (3, 9): 'F', (2, 10): 'L', (1, 11): 'O', (0, 12): 'W', (1, 13): 'T', (2, 14): 'E', (3, 15): 'S', (4, 16): 'T'}
result = "".join(v for _,v in sorted(d.items(),key=lambda x:x[0][1]))
然后:
>>> result
'STACKOVERFLOWTEST'
推荐阅读
- c - realloc() 结构数组上的旧大小无效
- c# - 使用实体框架核心 2 进行排序、过滤和分页
- python - 如果函数返回某个字符串,则不要运行插入语句
- java - 在 ListView 上显示来自 EditText 的文本
- java - 从自己编写的网络服务器调用网站时没有显示图像如何解决
- javascript - 按文本字段过滤列表
- c# - 按列表排序
> 仅按项目 2 - reactjs - 为什么当我尝试从 cookie 访问会话 id 的值时我得到未定义
- r - 如何通过在 r 中使用带有数字的起始字母来选择和替换字符变量的多个值
- javascript - jQuery 可排序自己的元素作为占位符