web-dev-qa-db-ja.com

リスト内の要素を合計する

ここに私のコードがあります。リスト内の要素の未定義の数を合計する必要があります。これを行う方法?

l = raw_input()
l = l.split(' ')
l.pop(0)

私の入力:3 5 4 9入力後、l.pop(0)を介して最初の要素を削除します。 .split(' ')の後、私のリストは['5', '4', '9']であり、このリストのすべての要素を合計する必要があります。

この場合、合計は18です。要素の数が定義されていないことに注意してください。

54
treng

sum() ビルトインを使用するだけで、リスト内の数値を合計できます。

sum(your_list)

あなたが持っているのと同じ数のアイテムを合計します。例:

my_list = range(10, 17)
my_list
[10, 11, 12, 13, 14, 15, 16]

sum(my_list)
91

特定の場合

データについては、最初に数値をintに変換してから、数値を合計します。

data = ['5', '4', '9']

sum(int(i) for i in data)
18

これは、undefinedリスト内の要素の数に対して機能します(「数値」である限り)

データが文字列形式の場合の@senderleのコメント再変換をありがとう。

139
Levon
>>> l = raw_input()
1 2 3 4 5 6 7 8 9 10
>>> l = l.split()
>>> l.pop(0)
'1'
>>> sum(map(int, l)) #or simply sum(int(x) for x in l) , you've to convert the elements to integer first, before applying sum()
54
7

Python iterableは、次のように合計できます- [sum(range(10)[1:])] これにより、リストの最初の要素を除くすべての要素が合計されます。

>>> atuple = (1,2,3,4,5)
>>> sum(atuple)
15
>>> alist = [1,2,3,4,5]
>>> sum(alist)
15
5

sumを使用してリストの要素を合計できますが、リストがraw_inputからのものである場合は、最初にアイテムをintまたはfloatに変換することをお勧めします。

l = raw_input().split(' ')
sum(map(int, l))
2
unkulunkulu

map関数とpython組み込みのsum()関数を使用できます。ソリューションを簡素化します。そして複雑さを軽減します。
a=map(int,raw_input().split())
sum(a)
完了!

1
Shreyaa Sridhar

Reduceメソッドを使用することもできます:

>>> myList = [3, 5, 4, 9]
>>> myTotal = reduce(lambda x,y: x+y, myList)
>>> myTotal
21

さらに、ラムダ関数を変更して、リストに対して他の操作を実行できます。

0
Chappleton
def sumoflist(l):    
    total = 0    
    for i in l:
        total +=i
    return total
0
niksy