如何获取列表并获取其中的每个值,尝试为列表中的每个值创建一个URL?
我也尝试了以下内容,但它并没有单独列出每个列表项/值。
sampleguid.append(allguid[1:5])
for guid in sampleguid:
full_url = url + "?" + str(sampleguid[0])
print full_url
我没有'之前已经意识到了,但是列表中还有一些不需要的字符,即引号,逗号,括号 - 我该如何删除它们?
我跑步时会发生什么
for guid in sampleguid:
full_url = url + "?" + str(guid)
print full_url
是打印出来的吗?
url?['value1', 'value2', 'value3', 'value4']
我想要的是:
url?value1
url?value2
url?value3
url?value4
答案 0 :(得分:2)
使用sampleguid[0]
时,表示您在每行中使用相同的值,即列表sampleguid
中的第一项。
您正在寻找的变化是
sampleguid.append(allguid[1:5])
# for each item, let's call it guid, in the list sampleguid
# do the following
for guid in sampleguid:
full_url = url + "?" + str(guid)
print full_url
如果你使用 Python 3.x ,那么你甚至可以使用一行代码:
print(*(url + "?" + str(guid) for guid in sampleguid), sep="\n")
对于 Python 2.x ,您还可以使用以下内容:
print "\n".join((url + "?" + str(guid) for guid in sampleguid))
这两个单线示例非常有趣。第一个代码可能更容易理解。
编辑(不需要的字符):
如果我理解你的意图与不需要的人物,那么这可能对你有用。它不是一个优雅的解决方案,但它可以做到。
sampleguid.append(allguid[1:5])
# for each item, let's call it guid, in the list sampleguid
# do the following
for guid in sampleguid:
# list of unneeded characters you want to remove
unneeded_chars = ['"','(',')',"'"]
splitter_char = ","
for c in unneeded_chars:
guid = guid.replace(c,splitter_char)
for guid_item in guid:
full_url = url + "?" + str(guid_item)
print full_url
它首先用特殊的"分离器"替换所有不需要的字符。字符。然后你用"分离器"分割字符串。字符,然后为每个指定的子字符串重复与之前相同的事情。
答案 1 :(得分:0)
您始终访问sampleguid[0]
,这是列表中的第一项。你可能想要更像这样的东西:
sampleguid.append(allguid[1:5])
for guid in sampleguid:
full_url = url + "?" + str(guid)
print full_url
这将对列表中的每个项目进行操作,而不是仅对每次迭代进行操作。
答案 2 :(得分:0)
根据您更新的问题,您实际上有一个您尝试迭代的列表列表。以下应该有效:
for guid in sampleguid:
for item in guid:
full_url = url + "?" + str(item)
print full_url
首先,您从主列表guid
中获取每个子列表(sampleguid
)。然后,您遍历guid
以获取其中的每个item
,生成网址并进行打印。