Python не может получить доступ к списку

#python #python-3.x

#python #python-3.x

Вопрос:

 colors = ["red", "green", "blue", "yellow", "black"]
for color in range(0,len(colors)):
    print(color[index])
  

Интересно, почему я получаю сообщение об ошибке при попытке напечатать индекс цвета и не уверен, как исправить или что изменить, спасибо

Комментарии:

1. Потому color что это целое число, и вы обращаетесь к нему так, как если бы это был список

2. Итак, как я могу исправить эту ошибку?

3. for color in range(0,len(colors)): print(colors[color])

4. попробуйте enumerate() может вам помочь. Также предлагаю вам один раз ознакомиться с основными понятиями python.

Ответ №1:

Потому что color — это целое число, и вы обращаетесь к нему, как к списку.

Вероятно, вы должны захотеть получить доступ к color from colors следующим образом:

 colors = ["red", "green", "blue", "yellow", "black"]
for color in range(0,len(colors)):
    print(colors[color])
  

Лучший способ — выполнить итерацию по colors списку, например:

 colors = ["red", "green", "blue", "yellow", "black"]
for color in colors:
    print(color)
  

Комментарии:

1. Спасибо за вашу помощь, в чем разница между первым подходом и вторым подходом? Просто интересно, какие методы

2. Я буду, но я не могу, пока через 2 минуты не будет ограничения по времени между тем, когда вы можете принять

3. @ForgeMods разница в том, что в первом варианте вы получаете доступ к другому элементу списка на основе индекса цикла, в то время как другой просто выполняет итерацию списка напрямую, и каждая итерация представляет собой отдельный элемент из списка. Они в основном одинаковы, но в python вы предпочтете второй вариант

4. @ForgeMods смотрите следующую ссылку для получения дополнительной информации towardsdatascience.com /…

Ответ №2:

Я думаю, вы пытались написать colors не color

Вы можете попробовать это

 colors = ["red", "green", "blue", "yellow", "black"]
map(print, colors)
  

Он будет делать то, что вы пытались сделать

Ответ №3:

 colors = ["red", "green", "blue", "yellow", "black"]
for color in range(0,len(colors)):`
    print(color)       #This will print the index 
    
#refer below code if you want to print index with the value    
for color in range(0,len(colors)):
    print('Index value is ' str(color) ' and its value is ' str(colors[color]))


I think this is what you want to achieve