在python中,如何将字符串列表分解为字符串列表?
我正在运行一个带有cherrypy和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
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']]