2014-09-14 3 views
0

У меня есть список, создаваемый с веб-страницы с использованием json.loads. Я отображая это с помощью следующего кода:Удалить ведущие и конечные пробелы из списка Python

myvar = json.loads(response.text) 
print myvar[0],',',myvar[1],',',myvar[2] 

Это печатает как:

0 , 1 , 2 

Что я хотел бы, чтобы напечатать, как это:

0,1,2 

Я знаю, что я мог бы достичь это с помощью .strip(), если я сначала преобразовал каждый элемент списка в строку, но это недействительный метод для словаря. Есть ли способ удалить элементы списка без преобразования в строку сначала?

Благодаря

EDIT:

По просьбе ответчика, вот полный код используется:

import requests 

url = 'http://www.whoscored.com/stagestatfeed' 
     params = { 
      'against': '1', 
      'field': '1', 
      'stageId': '9155', 
      'teamId': '32', 
      'type': '7' 
      } 
     headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36', 
      'X-Requested-With': 'XMLHttpRequest', 
      'Host': 'www.whoscored.com', 
      'Referer': 'http://www.whoscored.com/Teams/32/Statistics/England-Manchester-United'} 

     responser = requests.get(url, params=params, headers=headers) 

     print '**********Shots Against (Action Zone) - Away:**********' 
     print '-' * 170 
     fixtures = json.loads(responser.text) 
     print("%s,%s,%s" % (fixtures[0].strip(), fixtures[1].strip(), fixtures[2].strip())) 
     print responser.text 
     print '-' * 170 
+0

Помогло бы узнать, что такое myvar и что содержит. –

+2

Поскольку ответа на этот вопрос пока нет: причина, по которой вы получаете промежутки между вашими значениями, заключается в том, что инструкция '' print' (https://docs.python.org/2/reference/simple_stmts.html# print) с несколькими аргументами ('print a, b, c') автоматически вставляет их для вас: *« Пространство записывается до того, как каждый объект будет (преобразован и записан), если только система вывода не считает, что она позиционируется в начале line. * " –

ответ

1

Похоже, вам просто нужно это:

>>> myvar = [1, 2, '3'] 
>>> ",".join(map(str, myvar)) 
'1,2,3' 

Но, если вы хотите быть более надежным, тогда примените strip Функция для каждого элемента:

>>> myvar = [1, 2, '3'] 
>>> ",".join(map(lambda x: str(x).strip(), myvar)) 
'1,2,3' 

>>> myvar = [1, 2, 3, ' 4 '] 
>>> ",".join(map(lambda x: str(x).strip(), myvar)) 
'1,2,3,4' 
+0

привет, спасибо, что ответим. это отлично работает. не могли бы вы вкратце объяснить мне, что, например, «лямбда» и «х» в вышеупомянутом? спасибо ... – gdogg371

+0

'lambda' - это короткая функция. [Здесь] (http://stackoverflow.com/q/890128/821594) - некоторые подробности. – stalk

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