举例:nums = [1,15,6,3]
如何生成nums的数字集合,即[1,1,5,6,3]
或如何生成nums的数字和:及1 + 1 + 5 + 6 + 3 = 16
直接调用此方程即可:
def digit_sum(nums):
return sum([i for k in [[int(x) for x in str(n)] for n in nums] for i in k])
原理解释:
- 先将多位数展开:
nums = [1,15,6,3]
a=[[int(x) for x in str(n)] for n in nums]
a
#output: [[1], [1, 5], [6], [3]]
- 再将Python嵌套列表展开:
b=[i for k in [[int(x) for x in str(n)] for n in nums] for i in k]
b
#output: [1, 1, 5, 6, 3]
以上内容可以解Leetcode 2535:2535. 数组元素和与数字和的绝对差