【问题标题】:How to change values in a dictionary from a string to an integer and back again?如何将字典中的值从字符串更改为整数然后再返回?
【发布时间】:2017-04-16 21:16:04
【问题描述】:

我有一本这样的字典:

d = {(1,1):'.',(2,2):'b', (3,3):'1',(4,4):'2',(5,5):'3'}

并且我希望能够遍历字典中的项目,检查键的值是否是数字(它当前是字符串类型,但我需要检查所述字符串是否实际上是数字而不是点或字母) 并添加到该值, 如值 += 1。

我需要以字符串形式返回带有键值的字典。

将值从字符串类型更改为整数(以添加 +1)并返回为字符串以使返回的字典看起来像这样的最佳方法是什么?:

d = {(1,1):'.',(2,2):'b', (3,3):'2',(4,4):'3',(5,5):'4'}

【问题讨论】:

    标签: string python-3.x dictionary integer


    【解决方案1】:
    >>> d = {(1,1):'.',(2,2):'b', (3,3):'1',(4,4):'2',(5,5):'3'}
    >>> {k:(str(int(v)+1) if v.isdigit() else v) for k, v in d.items()}
    {(2, 2): 'b', (1, 1): '.', (4, 4): '3', (5, 5): '4', (3, 3): '2'}
    >>> 
    

    您可以为此使用字典推导式,您可以检查该值是否由数字组成,然后返回 +1 值,否则按原样返回。

    【讨论】:

    • 在发布时解释你的答案实际上做了什么总是好的,这样OP可以从中学习。
    • 这样做确实会返回一个值增加 1 的字典,但我需要以字符串形式返回的值,而不仅仅是整数
    • @M.Pro 您可以将其类型转换为字符串
    猜你喜欢
    • 2021-08-16
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 2019-07-17
    • 2017-08-25
    • 2019-10-16
    相关资源
    最近更新 更多