Я хочу создать функцию, аргументы которой являются именем списка L и его аргументами. Список L имеет только цифры в нем, и я хочу округлить их до 1 десятичной (к слову, элементы списка L должны быть заменены на округленные числа, я не хочу, чтобы новый список M с их). К сожалению, имя списка меняется в сценарии, который я планирую, а также длина таких списков. Вот моя неудачная попытка:Имя переменной как аргумент функции?
def rounding(name,*args):
M=[round(i,1) for i in args] #here is the list I want L to become
name=M #here I try to replace the previous list with the new one
morada=[1,2.2342,4.32423,6.1231] #an easy example
rounding(morada,*morada)
print morada
Выход:
[1, 2.2342, 4.32423, 6.1231] #No changes
Не нужно вообще ничего такого делать. Вы можете сделать 'arg [0] = 5' внутри вашей функции' modify_list' (передавая 'list_0' вместо' 'list_0''), и вы получите тот же эффект. –
Я тоже не большой поклонник этого решения, но если я правильно понял вопрос, имя списка неизвестно ... и OP _did_ _ask_, как использовать имя переменной в качестве аргумента. – schaazzz
Довольно часто то, что люди просят *, имеет мало общего с тем, что им действительно нужно *. Они не знают, как спросить, что им нужно. –