3

私は自分がよく次のようなものを使用していることに気づきました

for i in range(len(lst1)): lst1[i] += lst2[i]

と同等の組み込み機能はありrange(len(.))ますか?

(ところで、私はPython3を使用しています。)

4

2 に答える 2

11
for i, e in enumerate(lst2):
    lst1[i] += e

また

lst1 = [e1 + e2 for e1, e2 in zip(lst1, lst2)]
于 2012-10-31T13:27:48.807 に答える
6

より良い使用enumerate():

 for index,x in enumerate(lst1):
      lst1[index] += lst2[index]

enumerate()enumerateを含むオブジェクトを返しますtuples。ここで、タプルの最初の項目はインデックスで、2 番目の項目は要素です。(デフォルトでは、インデックスは 0 から始まります。オプションの引数を に渡すことで変更できますenumerate())

例:

In [50]: lst1=['a','b','c','s']

In [51]: list(enumerate(lst1))         #default index values, i.e 0
Out[51]: [(0, 'a'), (1, 'b'), (2, 'c'), (3, 's')]

In [53]: list(enumerate(lst1,1))       #index started at 1 
Out[53]: [(1, 'a'), (2, 'b'), (3, 'c'), (4, 's')]
于 2012-10-31T13:27:23.093 に答える