通过python字符串数组进行迭代会产生意外的输出 - python

我正在调试一些python代码,并且像任何初学者一样,我正在使用print语句。我将问题缩小为:

paths = ("../somepath") #is this not how you declare an array/list?
for path in paths:
    print path

我原本希望将整个字符串打印出来,但是只有.是。由于我计划将其扩展以涵盖更多路径,因此看来

paths = ("../somepath", "../someotherpath")

解决此问题并正确打印出两个字符串。

我假设初始版本将字符串视为字符数组(或者也许我只是在说C++),并且只打印出字符。

我仍然想知道为什么会这样。

python大神给出的解决方案

("../somepath")

只不过是用括号括起来的字符串。因此,它与"../somepath"相同。由于Python的for循环可以迭代任何可迭代项,而字符串恰好是可迭代的,因此它一次只打印一个字符。

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

("../somepath",)

如果要创建列表,则需要使用方括号,例如

["../somepath"]