2016-12-24 15 views
-9
def my_fun(x): 
    for k in range (len(x)): 
     x.extend(x[:k]) 
m = [1,5,3] 
my_fun(m) 
print(m) 

Отпечатано [1, 5, 3, 1, 1, 5]. Почему он это делает?Почему эта функция с использованием расширения ведет себя так?

В частности, я не понимаю часть (x [: k]).

+0

Не могли бы вы предоставить нам более подробную информацию о том, чего вы пытаетесь достичь, и какие именно трудности вы испытываете? – Hisagr

+0

Что нужно решить? У вашего вопроса есть код, но, похоже, все в порядке. – Omnifarious

+1

что вы пытаетесь сделать? какой результат вы ожидаете? вы получаете сообщение об ошибке? чем показать это (не в комментариях). – furas

ответ

0

Вы задаете очень простой вопрос. Вы можете попробовать ввести help([].extend) в интерпретаторе Python. Кроме того, x[:k] - синтаксис массива.

Возникает вопрос о StackOverflow о синтаксисе среза массива Python. Вы должны найти ответы полезные: Explain Python's slice notation

И это общий учебник о том, как работают списки и описывает метод extend достаточно хорошо: https://www.tutorialspoint.com/python/python_lists.htm

Я не собираюсь дать вам более конкретный ответ, как я Думаю, вы делаете домашнее задание. И даже если вы этого не сделаете, вы получите гораздо больше пользы от выяснения ответа на свой вопрос, потому что это такой основной вопрос.