迭代python字符串数组会产生意外的输出

迭代python字符串数组会产生意外的输出,python,Python,我调试了一些python代码,和其他乞丐一样,我使用的是print语句。我把问题缩小到: paths = ("../somepath") #is this not how you declare an array/list? for path in paths: print path 我希望整个字符串都能打印出来,但只有被打印出来。因为我计划无论如何都要扩展它以覆盖更多的路径,所以看起来 paths = ("../somepath", "../someotherpath") 修复该问

我调试了一些python代码,和其他乞丐一样,我使用的是print语句。我把问题缩小到:

paths = ("../somepath") #is this not how you declare an array/list?
for path in paths:
    print path
我希望整个字符串都能打印出来,但只有
被打印出来。因为我计划无论如何都要扩展它以覆盖更多的路径,所以看起来

paths = ("../somepath", "../someotherpath")
修复该问题并正确打印出两个字符串

我假设初始版本将字符串当作字符数组(或者可能是我所说的C++),只是打印出字符。……?? 我还是想知道为什么会这样

("../somepath")
只不过是括号中包含的字符串。因此,它与
“./somepath”
相同。由于Python的
for
循环可以迭代任何iterable,而字符串恰好是iterable,因此它一次打印一个字符

要创建包含一个元素的元组,请在末尾使用逗号

("../somepath",)
如果要创建列表,需要使用方括号,如下所示

["../somepath"]
这样您就可以创建列表了。现在您的代码就可以工作了


paths=(“./somepath“,“./someotherpath”)
这是一个元组,也是一种不可变列表。

对其进行了测试,每行输出一个字符

所以每个字符都打印一个字符

为了得到你想要的你需要的

# your code goes here
paths = ['../somepath'] #is this not how you declare an array/list?
for path in paths:
    print path

< C++ >(代码)>(代码)>元组,列表为代码> []/COD> >列表>代码> […/SoupPATH ] < /COD>任何其他语言都声明单元格数组/元组有括号,也处理括号用于其许多其他目的吗?我不熟悉动态键入。@jamylak:注意,有时候你甚至不需要括号来创建元组,例如
a=3,4,5
。OP想要创建一个数组/列表
# your code goes here
paths = ['../somepath'] #is this not how you declare an array/list?
for path in paths:
    print path