Python 列表到字符串和for循环
如何获取列表并使用其中的每个值,尝试为列表中的每个值创建URL 我也尝试了下面的方法,但它并没有单独获取每个列表项/值Python 列表到字符串和for循环,python,Python,如何获取列表并使用其中的每个值,尝试为列表中的每个值创建URL 我也尝试了下面的方法,但它并没有单独获取每个列表项/值 sampleguid.append(allguid[1:5]) for guid in sampleguid: full_url = url + "?" + str(sampleguid[0]) print full_url 我以前没有意识到这一点,但列表中也有一些不需要的字符,如引号、逗号、方括号-如何删除这些字符 我跑步的时候会发生什么 for guid in
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
当使用
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
它首先用一个特殊的“拆分器”字符替换所有不需要的字符。然后,用“拆分器”字符拆分字符串,然后对每个指定的子字符串重复与以前相同的操作。您总是访问列表中的第一个项目
sampleguid[0]
。你可能想要更像这样的东西:
sampleguid.append(allguid[1:5])
for guid in sampleguid:
full_url = url + "?" + str(guid)
print full_url
这将对列表中的每个项目进行操作,而不仅仅是每次迭代的第一个项目。根据您更新的问题,您实际上有一个列表,其中列出了您要迭代的列表。以下方面应起作用:
for guid in sampleguid:
for item in guid:
full_url = url + "?" + str(item)
print full_url
首先,从主列表
sampleguid
中获取每个子列表(guid
)。然后,您迭代guid
以获取其中的每个项目,生成URL并打印它。可能您需要full\u URL=URL+“?”+guid
,每次都使用sampleguid
中的第一个元素。@vaultah导致TypeError:无法连接'str'和'list'对象扫描您给出了一个包含不需要字符的值的示例,然后是预期的结果?是不是有可能存在guid=“value1()”
,而您只想使用guid=“value1”
?澄清了问题a位很好-thx,我以前没有意识到,但列表中还有一些不需要的字符,即引号、逗号、括号-我如何删除它们?请,更新你的问题,并给出一些你想删除的引号、逗号等的例子。。。然后我将编辑我的answer@MarekOP所指的“不需要的字符”实际上是一个列表的表示——他有一个列表列表,而不仅仅是一个项目列表。没有必要删除这些字符,因为它们不相关。请查看解决方案。@MattDMo即使在澄清之后,我也了解到,前面案例中的打印行也可能是类似于url?x,y,z'的内容,其目的是在三行上获得url?x,
url?y`和url?z
。我猜@Tony选择的例子并不是最好的例子,而且这个问题比“列表列表”更普遍。