2
def sum_elements(l):
    sum = 0
    string = ""
    k = 0
    for i in l:
        if type(i) is int:
            sum = sum + l[k]
            k += 1
        elif type(i)is str:
            string = string + str(l[k])
            k += 1
    print "sum of integers in list" + str(sum)
    print "sum of strings in list" + string

Python にはsum、リストのすべての要素の合計を求める組み込み関数があります。リストが整数の場合、sum_elements([1, 2, 3])6 が返されます。sum関数は文字列のリストに対しても機能します。sum_elements(["hello", "world"])戻りますhelloworldsum上記のコードで組み込み関数の実装を作成しました。できます。

私はPythonの初心者です。それが正しいかどうか、またはより良いアプローチがあるかどうかを知りたいだけですか?

Python 組み込み関数のソース コードに利用できるリンクはありますか?

4

2 に答える 2

1

インデックスで要素にアクセスする必要はありません。リストが空ではなく、すべての要素が同じ型である場合は、次のようにコーディングできます。

>>> def sum_elements(l):
...     s = l[0]
...     for element in l[1:]:
...         s += element
...     return s
... 
>>> sum_elements([1, 2, 3])
6
>>> sum_elements(['hello', 'world'])
'helloworld'
于 2013-06-26T09:43:50.450 に答える