如何在pyrhon中找到列表中每个部分的总和?

2024-05-16 04:34:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我们应该做的任务是看一个列表,如

[3884, 2888, 2752, 3916, 1479, 2455]

这些数字表示条形码。 然后给出了列表中要查看的部分的两个参数

例如,参数是(list,1,3)。其中1和3是我们需要使用的列表的一部分。然后我们必须找到列表中每个部分的总和。我们需要能够输出[26,16, 19]。最后一部分是查找最大编号并返回原始条形码。为此,我计划使用if & elif语句,因为max是不允许的。我需要帮助找到列表中每个部分的总和

def freshFruit (barcodes, startIndex, stopIndex):
    barcodesTested= barcodes[startIndex:int(stopIndex)+1:])# +1 make it inclusive
    print (barcodesTested)
    numberInList = len(barcodesTested)
    print(numberInList)
    x=0
    for x in range(len(barecodesTested)):#i was thinking of find each sum individually
     for barecodesTested[x] in:

Tags: in列表for参数len数字print条形码
3条回答

使数字的每一位都成为整数。求和

newList = [sum(map(int,str(num))) for num in x]

不努力回答自己的问题将不会得到回答

您可以尝试使用^{}^{}运算符定义一个函数,将整数中的所有数字相加:

def sum_digits(num):
    s = 0
    while num:
        s += num % 10
        num //= 10
    return s

nums = [5789, 3795, 1349, 4839, 3829, 9267]
print(list(map(sum_digits, nums)))

输出:

[29, 24, 17, 24, 22, 24]

请注意,尽管将整数转换为字符串并返回整数可能会使用较少的代码,但人们普遍认为这是一种不好的做法

您可以使用列表理解。迭代列表中的每个数字,然后将其转换为字符串,现在迭代此转换字符串中的每个数字并将每个数字转换为整数,最后计算sum

data = [5789, 3795, 1349, 4839, 3829, 9267]

[sum(int(i) for i in str(each)) for each in data]

#output
[29, 24, 17, 24, 22, 24]

相关问题 更多 >