gpt4 book ai didi

python - 将两位数整数转换为python列表中的一位数?

转载 作者:太空狗 更新时间:2023-10-29 19:33:34 28 4
gpt4 key购买 nike

list1 = [6,10,4,8,2,12,10]

我想将 list1 中大于或等于 10 的所有整数转换为一个整数。例如,10: 1+0=1 , 12: 1+2=3。输出列表应该是:

list1 = [6,1,4,8,2,3,1]

任何人都可以帮我解释一下逻辑吗?到目前为止我尝试过的逻辑不起作用:

for itr in list1:
if ( itr >= 10):
itr1 = str(itr)
itr2 = eval(itr[0]+itr[1])

最佳答案

如果第一次迭代的总和大于 10,则这些示例都不起作用,例如999 -> 27。将此场景解释为 999 -> 27 -> 9,您可以使用以下函数:

>>> def digit_sum(n):
... while n > 9:
... n = sum(int(d) for d in str(n))
... return n
...
>>> [digit_sum(n) for n in [1, 3, 999, 10, 234, 1234132341]]
[1, 3, 9, 1, 9, 6]

这还假设所有整数都是正数。

关于python - 将两位数整数转换为python列表中的一位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40557223/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com