从Python列表中删除前导和尾随空格

时间:2014-09-14 17:20:06

标签: python json

我有一个使用json.loads从网页生成的列表。我用以下代码显示它:

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

打印为:

0 , 1 , 2

我想要打印的内容如下:

0,1,2

我知道如果我先将列表的每个元素转换为字符串,我可以使用.strip()来实现这一点,但这不是字典的有效方法。有没有办法剥离列表的元素而不先转换为字符串?

由于

修改

根据响应者的要求,以下是使用的完整代码:

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

1 个答案:

答案 0 :(得分: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'