ここに私のコードがあります。リスト内の要素の未定義の数を合計する必要があります。これを行う方法?
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
これは、undefinedリスト内の要素の数に対して機能します(「数値」である限り)
データが文字列形式の場合の@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は、次のように合計できます- [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
関数とpython組み込みのsum()
関数を使用できます。ソリューションを簡素化します。そして複雑さを軽減します。a=map(int,raw_input().split())
sum(a)
完了!
Reduceメソッドを使用することもできます:
>>> myList = [3, 5, 4, 9]
>>> myTotal = reduce(lambda x,y: x+y, myList)
>>> myTotal
21
さらに、ラムダ関数を変更して、リストに対して他の操作を実行できます。
def sumoflist(l):
total = 0
for i in l:
total +=i
return total