0

x=[1,2,5] y=[2,3,9] どうすれば結果 22 を取得できますか?

私のコードには型エラーがあります。

4

3 に答える 3

6

sum組み込み関数が必要だと思います。

>>> x = [1,2,5]
>>> y = [2,3,9]
>>> sum(x+y)
22

これは次と同じです。

sum(x) + sum(y)

または itertools が好きなら:

sum(itertools.chain(x,y))

後者の 2 つはより効率的です。


sumiterable を取り、そのすべての要素を合計します。+リストの連結を扱う場合、次のようになります。

x+y

リストを提供します:

[1,2,5,2,3,9]

これは反復可能であるため、 の完全な候補ですsum


リストがたくさんある場合は、これをさらに面白くすることができます。

>>> lists = [x,y]
>>> sum(sum(lst) for lst in lists)
22

この最後の形式は、任意の数のリストに自明にスケールアップできるのでlists便利です。合計する準備ができるまでそれらをリストに追加し続け、そこにその1ライナーをポップすれば完了です。

もちろん、itertools でも同じことができると思います。

sum(itertools.chain.from_iterable(lists))

ご覧のとおり、かなりの数のオプションを使用できます (そして、そこから学ぶこともできます! :)。

于 2012-11-24T04:17:01.633 に答える
1
>>> list1 = [1,2,5]

>>> list2 = [2,3,9]

>>> zip_list = [(x + y) for x, y in zip(list1, list2)]

>> zip_list

[3, 5, 14]

>>> sum(zip_list)

22
于 2012-11-24T06:09:03.077 に答える
0
    sm=0
    for v in x+y:
         sm=sm+v
于 2012-11-24T05:39:25.880 に答える