2013-03-16 2 views
0

Я совершенно не знаком с программированием и прочитал несколько вопросов. Здесь, в Stackoverflow, о совпадении строк в двух списках, но не найти того, что помогает мне с этой точной задачей.Сравните и сохраните соответствующие буквы в двух списках слов?

У меня есть списки, например:

list1 = ["INTP", "ESFJ", "ENTJ"] 
list2 = ["ENTP", "ESFP", "ISTJ"] 

Я хочу перебрать каждую букву в каждом слове и хранить все сравнения сделано, общее количество совпадающих букв для всех слов в списках и каждый паре писем, что матчи, как это:

total_letters_compared = 12 
total_correct_matches = 8 
first_letter_pair_matches = 1 
second_letter_pair_matches = 2 
third_letter_pair_matches = 3 
fourth_letter_pair_matches = 2 

Я не могу понять, как сделать сравнение по некоторым индексом [я] в обоих списках, так что я могу как-то хранить спички в моих переменных. Что I've смогли придумать до сих пор является следующее:

total = 0 
total_letters_compared = 0 
total_correct_matches = 0 
first_letter_pair_matches = 0 
second_letter_pair_matches = 0 
third_letter_pair_matches = 0 
fourth_letter_pair_matches = 0 

for combination in list2: 
for letter in combination: 
    total_letters_compared = total_letters_compared + 1 
    if list2letter == list1.ltter: 
     total_correct_matches = total_correct_matches + 1 
     # here I´d like to keep track of which letter-pair is compared and 
        # add 1 to the correct variable or continue to the next letter-pair 

ответ

1

использования почтового индекса перебрать более 1 коллекции. (Примечание: этот код предполагает, что два списка имеет одинаковое количество элементов, и каждый элемент является правильным профилем INTP)

matches = {0:0, 1:0, 2:0, 3:0} 

for item1, item2 in zip(list1, list2): 
    for i in xrange(4): 
     if item1[i]==item2[i]: 
     matches[i] += 1 

and you can extract data you want by: 

total_letters_compared = #length of a list * 4 
total_correct_matches = #sum(matches.values()) 
nth_letter_pair_matches = #matchs[n-1] 
+0

Я получаю сообщение об ошибке: для item1 и item2 в ZIP (песни1, песни2): ^ СинтаксисError: недействительный синтаксис – mattiasostmar

+0

редактированный @mattiasostmar. извините, это довольно вздор в python – thkang