【问题标题】:Iterate over digits of number迭代数字的位数
【发布时间】:2015-03-31 20:03:27
【问题描述】:

我有一个字符串输入,例如100124。我想将字符串的每个数字评估为整数,所以我这样做:

for c in string:
    c = int(c)
    # do stuff with c

有没有更好的语法方法来做到这一点?我尝试在循环之前执行string = int(string),但数字不可迭代。

【问题讨论】:

  • 您需要显示更多的上下文代码行,以便我们知道您最终想要做什么。

标签: python string for-loop


【解决方案1】:

您可以将map 字符串转为int

for c in map(int, string):
    # do stuff with c

演示:

>>> for c in map(int, '100124'):
...     c
...
1
0
0
1
2
4
>>>

【讨论】:

  • 确实如此。这是 Prime。
【解决方案2】:

您可以使用返回生成器的列表推导:

>>> [int(i) for i in s]
[1, 0, 0, 1, 2, 4]
>>> for digit in [int(i) for i in s] :
...    # do stuff with digit

map函数:

>>> map(int,s)
[1, 0, 0, 1, 2, 4]

【讨论】:

    猜你喜欢
    • 2021-12-21
    • 1970-01-01
    • 2020-10-24
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    相关资源
    最近更新 更多