Попытка получить доступ к индексу из списка и преобразовать его в строку в Python

#python #list

#python #Список

Вопрос:

У меня есть программа, которую я пишу для компьютерного класса, и у меня возникли небольшие проблемы с доступом к значению индекса чего-либо. Я довольно новичок в Python (я использую его всего неделю), и мне нужна эта программа для успешной работы. Я уже пробовал другие сообщения и использовал контент из других сообщений, но я все еще пытаюсь заставить свою программу работать. Я надеюсь, что этого достаточно для работы.

Я хочу напечатать соответствующий индекс для каждого элемента в списке «задачи» в нижней части «wModt». Я пытался спросить одного из инструкторов, но я все еще был в замешательстве. Я хочу, чтобы задачи выбирались в порядке индекса 0, 1, 2 и т.д., А затем повторялись. Пожалуйста, помогите!

Вот часть моего кода.

 workers = ['Jim','Bob','Matt','Brian','Evan','Alan','Gary','Henry','Noah']

tasks = ['Drilling','Digging','Filling','Pouring']

...

while len(workers) > 0:
    wModt = num_workers % num_tasks

    working = random.choice(workers)
    workers.remove(working)
    num_workers -= 1

    for idx, val in enumerate(tasks):
        pass

    print working   "'s job is", wModt
  

Ответ №1:

лучший способ сделать что-то подобное — объединить ваши списки вместе… вы можете заставить что-то повторяться с помощью цикла itertools

 from itertools import cycle
for worker,job in zip(workers,cycle(tasks)):
    #do something with them
  

вы также могли бы создать словарь, сопоставляющий workers с jobs

 datamap = dict(zip(workers,cycle(tasks))
print datamap["Jim"]
  

тем не менее, вы можете легко получить индекс чего-либо, спросив

 jims_index = workers.index("Jim")