5 回答

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
最 Pythonic 的方式是使用列表理解:
def double(lst):
return [x*2 for x in lst]
等效的是map函數(shù)——它將匿名 lambda 函數(shù)映射到列表的每個(gè)元素:
def double(lst):
return list(map(lambda x: x*2, lst))
但是您可以像這樣在 for 循環(huán)中執(zhí)行此操作:
def double(lst):
for i in range(len(lst)):
lst[i] *= 2
return lst

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果你想使用 for 循環(huán)來做,你可以這樣做:
the_list = [1,2,3,4]
for index in range(len(the_list)):
the_list[index] = the_list[index]*2
但更優(yōu)雅的是使用列表理解并根據(jù)需要使用函數(shù):
def multiply_array(the_list):
new_list = [item*2 for item in the_list]
return new_list

TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
你問了一個(gè)功能。您將使用def語句來定義函數(shù)。在函數(shù)內(nèi)部,您將使用 遍歷索引range,并將*=每個(gè)索引處的現(xiàn)有值乘以指定的數(shù)字。
def double_it(your_list):
for index in range(len(your_list)):
your_list[index] *= 2
這將更新列表中的元素。如果有其他對該列表的引用,那么它們也將看到新值。例如,如果您有:
a = [1, 2, 3]
b = a
double_it(a)
print(b)
然后你也會看到更新后的值,b因?yàn)樗赶蛲粋€(gè)列表。

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
這是使用的解決方案for loop
def multi():
o=[]
for i in a:
b=i*2
o.append(b)
print(o)
a=[1,2,3,4]
multi()

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以使用列表理解:
my_list = [1, 2, 3, 4, 5]
my_new_list = [num * 2 for num in my_list]
>>> print(my_new_list)
[2, 4, 6, 8, 10]
添加回答
舉報(bào)