2014-06-26 4 views
-1

если у меня этот код, и мне нужно распечатать вывод в одной строке, как я могу это сделать?Как распечатать список в одной строке в python?

L = [('the', 'the'),('cat', 'cow'),('sat', 'sat'),('on', 'on'),('mat', 'mat'),('and', 'a'),('sleep', 'sleep')] 

def getParaphrases(L): 
    pre_match = 0 
    mis_match = 0 
    after_match = 0 
    paraphrase = [] 
    newpar = [] 
    for x in L: 
     if x[0] == x[1]: 
     if not paraphrase == []: 
      print '\n Paraphrase:', paraphrase 
      paraphrase = [] 
     pre_match += 1 
     mis_match = 0 
     else: 
     if pre_match >= 1: 
      if mis_match == 0: 
       paraphrase = [] 
      paraphrase.append(x) 
     mis_match += 1 
     if after_match >= 1: 
      paraphrase.append(x) 
      after_match += 1 

выход:

Paraphrase: [('cat', 'cow')] 

Paraphrase: [('and', 'a')] 

Но, как получить выход в одну линию, таких как,

Paraphrase [('cat', 'cow'), ('and', 'a') ] 
+0

Вы объявляете 'newpar', но никогда не используете его. Добавляйте 'paraphrase' к' newpar' перед сбросом 'paraphrase' и печатайте' newpar' в конце. – karthikr

+0

, пожалуйста, вы можете объяснить, что я сделал? – user3657345

+0

Это именно то, что я сделал - Объясните, вместо того, чтобы дать вам код. Попробуйте. это очень просто. – karthikr

ответ

1

Вы можете заменить всю эту функцию со списком понимания

L = [('the', 'the'),('cat', 'cow'),('sat', 'sat'),('on', 'on'),('mat', 'mat'),('and', 'a'),('sleep', 'sleep')] 

[(i,j) for i, j in L if i != j] 

Выход

[('cat', 'cow'), ('and', 'a')] 
+0

Мне нужна такая же функция без изменений – user3657345

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