2015-10-13 5 views
-2

Написать функцию printCommonLetters(), которая имеет два входных аргумента:
lst1 и lst2, которые два списка строк.
Функция будет печатать элементы, которые одинаковы в обоих списках.
Когда вы закончите итерацию по обеим петлям, напечатайте заключительное заявление, подобное «done» или «goodbye».функция Python, которая будет возвращать элементы из двух списков, которые являются одинаковыми

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

Например, если

lst1 = [ ‘ab’, ‘cd’, ‘ef’, ‘gh’] 
lst2 = [‘abc’, ’geh’, ‘cd’, ‘ab’], 

функция будет печатать:

‘ab’ 

‘cd’ 
‘goodbye!’ 

Я нашел Shorthanded способ сделать это, но не полную функцию. У меня есть это дает мне обратно ['ab', 'abc'], но не могу получить его, чтобы дать мне 'cd' ...

вот что я до сих пор:

def printCommonLetters(lst1, lst2): 
    for i in lst1: 
     for j in lst2: 
      if i is not j: 
       return[i,j] 

print(printCommonLetters([ 'ab', 'cd', 'ef', 'gh'],['abc', 'geh', 'cd', 'ab'])) 

print('goodbye!') 
+3

Я бы порекомендовал вам изучить операции набора Python – thumbtackthief

+3

Пожалуйста, исправьте форматирование в своем вопросе. – shuttle87

+0

Это то, как профессор дал его мне, извините за формат вопроса, но я буквально взял его прямо с hw. – VincentC

ответ

0

Вот что вам нужно. Нет итераций, только set.

print set(list1)&set(list2) 
+0

Это дало мне результат, который я хотел! Спасибо большое!! есть ли способ заставить его спуститься, а не ... {'ab', 'cd'}, но даст: 'ab' 'cd' не уверен, почему она хочет этого конкретного формата, но я ценю помощь, чтобы получить результат! – VincentC

Смежные вопросы