#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")