У меня есть словарь, который показывает поездку одного человека, где пустой список означает прогулку, а список с содержимым - это трубка, которую он взял. Я хочу узнать его первое путешествие по трубе, которое индексируется как «2,3».Найти индекс первой такой же группы, основанный на значении в словаре
specific_path_legs={0: [],
1: [],
2: ['Jubilee'],
3: ['Jubilee'],
4: [],
5: [],
6: ['Metropolitan'],
7: ['Metropolitan'],
8: ['Metropolitan'],
9: ['Metropolitan'],
10: [],
11: [],
12: [],
13: [],
14: ['Northern'],
15: ['Northern'],
16: ['Northern'],
17: ['Northern'],
18: ['Northern'],
19: [],
20: [],
21: [],
22: ['Jubilee'],
23: ['Jubilee'],
24: ['Jubilee'],
25: [],
26: [],
27: []}
Сначала я исключил часть прогулок и получил словарь с ногами.
legs_nonempty={2: ['Jubilee'],
3: ['Jubilee'],
6: ['Metropolitan'],
7: ['Metropolitan'],
8: ['Metropolitan'],
9: ['Metropolitan'],
14: ['Northern'],
15: ['Northern'],
16: ['Northern'],
17: ['Northern'],
18: ['Northern'],
22: ['Jubilee'],
23: ['Jubilee'],
24: ['Jubilee']}
Затем я попытался
first_leg=[]
for key,value in specific_path_legs.items():
if value==legs_nonempty.itervalues().next():
first_leg.append(key)
Но он вернулся
first_leg=[2,3, 22, 23, 24]
мне нужно только [2,3], а не [2, 3,22, 23, 24]. Есть идеи?
Добавлен ответ. Я предполагаю, что вы хотите наименьшее значение ключа для каждого значения, присутствующего в вашем словаре. –
Пример вывода, который вы хотите, действительно поможет много – Andrew
Надеюсь, на этот раз его легче понять. –