Форум сайта python.su
0
def list_function(x):
i = 0
for i in x:
x[i] = x[i] * 2
return x
n = [1, 2, 3]
list_function(n)
print (n)
Отредактировано de_z (Май 29, 2015 17:35:48)
Офлайн
568
de_zВы понимаете цикл в питоне неверно, вы думаете что оно работает как в джаваскрипте, так вот нет
Что не так с циклом?
for i in x: x[i] = # ненененене # i - это не индекс, это [b]сам элемент[/b]
Отредактировано FishHook (Май 29, 2015 17:45:45)
Офлайн
0
Если я правильно тебя понял, то:
def list_function(x): for i in x: print i*2 n = [1, 2, 3] list_function(n)
2
4
6
Офлайн
0
Таким образом, с переменными в списках не работает так, как я написал?
Офлайн
568
То есть не работает? Ты получил вывод i * 2, ты ровно это и делаешь
если нужно изменить список, то изменяй, читай доку python map, python list comprehensions, да и вообще хотя бы основы питона.
Офлайн
857
>>> def mul2(seq): ... return (i * 2 for i in seq) ... >>> list(mul2([1, 2, 3])) [2, 4, 6] >>>
Офлайн
1
def get_list_numbers(number_list): print([row * row for row in number_list]) check_numbers = [1,2,3] get_list_numbers(check_numbers)
Отредактировано codersed (Май 30, 2015 11:39:25)
Офлайн
88
def list_function(x): for i in range(len(x)): x[i] *= 2 return x
Офлайн
1
Самое простое:
In [1]: lst = [1, 2, 3] In [2]: map(lambda x: x * 2, lst) Out[2]: [2, 4, 6] In [3]: [i * 2 for i in lst] Out[3]: [2, 4, 6]
Офлайн
0
Всем спасибо за помощь!
Теперь увидел все многообразие решения этой задачи!
Офлайн