在python中,如何将字符串列表分解为字符串列表?

在python中,如何将字符串列表分解为字符串列表?,python,list,file-io,cherrypy,Python,List,File Io,Cherrypy,我正在运行一个带有cherrypy和python脚本的服务器。目前,有一个网页包含了我需要获取的人员列表的数据。网页的格式如下: www.url1.com, firstName_1, lastName_1 www.url2.com, firstName_2, lastName_2 www.url3.com, firstName_3, lastName_3 我希望在我自己的网页上显示姓名列表,每个姓名都超链接到相应的网站 我已使用以下方法将网页读入列表: @cherrypy.expose

我正在运行一个带有cherrypy和python脚本的服务器。目前,有一个网页包含了我需要获取的人员列表的数据。网页的格式如下:

www.url1.com, firstName_1, lastName_1
www.url2.com, firstName_2, lastName_2
www.url3.com, firstName_3, lastName_3 
我希望在我自己的网页上显示姓名列表,每个姓名都超链接到相应的网站

我已使用以下方法将网页读入列表:

@cherrypy.expose
    def receiveData(self):
        """ Get a list, one per line, of currently known online addresses,
            separated by commas.
        """

        method = "whoonline"
        fptr = urllib2.urlopen("%s/%s" % (masterServer, method))
        data = fptr.readlines()
        fptr.close()

        return data
但是我不知道如何在逗号所在的位置将列表分解成列表。结果应该给每个较小的列表三个元素;URL、名字和姓氏。所以我想知道是否有人能帮忙

提前谢谢你

您需要对每个字符串使用
split(',')
方法:

data = [ line.split(',') for line in fptr.readlines() ]
您需要对每个字符串使用
split(',')
方法:

data = [ line.split(',') for line in fptr.readlines() ]

您可以在fptr上迭代,无需调用
readlines()


您可以在fptr上迭代,无需调用
readlines()


如果您的数据是一个大的ole字符串(可能带有前导空格或尾随空格),请按以下方式执行:

lines="""    www.url1.com, firstName_1, lastName_1
www.url2.com, firstName_2     , lastName_2   
www.url3.com, firstName_3, lastName_3           """

data=[]
for line in lines.split('\n'):
    t=[e.strip() for e in line.split(',')]
    data.append(t)

print data    
输出:


请注意,前导空格和尾随空格已删除

如果您的数据是一个大的ole字符串(可能带有前导空格或尾随空格),请按以下方式执行:

lines="""    www.url1.com, firstName_1, lastName_1
www.url2.com, firstName_2     , lastName_2   
www.url3.com, firstName_3, lastName_3           """

data=[]
for line in lines.split('\n'):
    t=[e.strip() for e in line.split(',')]
    data.append(t)

print data    
输出:


请注意,前导空格和尾随空格已删除

这只会给我一个列表,而不是列表列表吗?所以我需要记住元素0,3,6是URL,2,4,7是名字,3,5,8是姓氏?@Synia,
line.split()
将返回一个列表。“列表理解”会列出这些列表这能给我一个列表而不是列表吗?所以我需要记住元素0,3,6是URL,2,4,7是名字,3,5,8是姓氏?@Synia,
line.split()
将返回一个列表。列表理解将列出这些列表
[['www.url1.com', 'firstName_1', 'lastName_1'], ['www.url2.com', 'firstName_2', 
  'lastName_2'], ['www.url3.com', 'firstName_3', 'lastName_3']]