これが私のコードです。リスト内の未定義の要素数を合計する必要があります。これを行う方法?
l = raw_input()
l = l.split(' ')
l.pop(0)
私の入力:3 5 4 9
入力後、 を介して最初の要素を削除しl.pop(0)
ます。.split(' ')
私のリストの後、['5', '4', '9']
このリストのすべての要素を合計する必要があります。
この場合、合計は 18 です。要素の数が定義されていないことに注意してください。
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
これは、リスト内の未定義の数の要素に対して機能します(それらが「数値」である限り)
データが文字列形式の場合の@senderleのコメント再変換に感謝します。
>>> 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
Python iterable は so - のように合計できます[sum(range(10)[1:])]
。これは、リストの最初の要素を除くすべての要素を合計します。
>>> atuple = (1,2,3,4,5)
>>> sum(atuple)
15
>>> alist = [1,2,3,4,5]
>>> sum(alist)
15
を使用sum
してリストの要素を合計できますが、リストが からのものraw_input
である場合は、おそらく項目をint
またはfloat
最初に変換する必要があります。
l = raw_input().split(' ')
sum(map(int, l))
map
関数と pythons 組み込み関数を使用できますsum()
。これにより、ソリューションが簡素化されます。そして、複雑さを軽減します。
a=map(int,raw_input().split())
sum(a)
終わり!