python проблема с использованием списка и функции .copy - PullRequest
2 голосов
/ 31 января 2020

Это следующие направления:

Инициализируйте переменную с именем teeth_12months, скопировав в нее tooth_6months (используйте .copy(), как указано выше, здесь и для всех проблем, приведенных ниже).

Используйте .extend() функция для добавления «первичного бокового резца» и «первичного первого моляра» к концу teeth_12months. Помните, что .extend() принимает список, а не строки.

Печать teeth_12months out. Первым первым моляром должен быть последний зуб в списке.

Это мой код:

teeth_12months = []
teeth_12months.copy(teeth_6months)
teeth_12months.extend('primary lateral incisor','primary first molar')
print(teeth_12months)

Вот ошибка, которую я получаю:


TypeError                                 Traceback (most recent call last)
<ipython-input-7-eacde845147c> in <module>
      1 teeth_12months = []
----> 2 teeth_12months.copy(teeth_6months)
      3 teeth_12months.extend('primary lateral incisor','primary first molar')
      4 print(teeth_12months)

TypeError: copy() takes no arguments (1 given)

Что здесь происходит? Я в замешательстве

Ответы [ 4 ]

2 голосов
/ 31 января 2020

Как говорит ошибка, copy() не принимает аргументов, вы должны присвоить результат copy() другой переменной:

teeth_12months = teeth_6months.copy()

Это эквивалентно:

teeth_12months = teeth_6months[:]
1 голос
/ 31 января 2020

Вам не нужно передавать какой-либо аргумент методу copy.

Вы можете использовать этот метод так же, как:

teeth_12months = teeth_6months.copy()
1 голос
/ 31 января 2020

list.copy() делает поверхностную копию списка, но не копирует данный список в качестве аргумента. Правильный код:

teeth_12months = teeth_6months.copy()

Кроме того, list.extend() требуется итерация, поэтому вам нужно использовать

teeth_12months.extend(('primary lateral incisor','primary first molar'))

вместо

teeth_12months.extend('primary lateral incisor','primary first molar')

You можно также просто сделать:

teeth_6months = ['test']
teeth_12months = teeth_6months + ['primary lateral incisor','primary first molar']
0 голосов
/ 31 января 2020

В вашем коде есть две ошибки: 1. list.copy () не будет принимать никаких аргументов, он скопирует содержимое списка в назначенную переменную. 2. list.extend () будет принимать список или строку в качестве аргумента. Это добавит новое содержимое списка к существующему списку.

teeth_12months = []
teeth_6months = ["one","two"]
teeth_12months = teeth_6months.copy()
teeth_12months.extend(['primary lateral incisor','primary first molar'])
print(teeth_12months)

output:

['one', 'two', 'primary lateral incisor', 'primary first molar']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...