我正在调试一些python代码,并且作为任何begginer,我正在使用print语句。我把问题缩小到:
paths = ("../somepath") #is this not how you declare an array/list?
for path in paths:
print path
我希望打印出整个字符串,但只有.
。因为我计划扩展它以覆盖更多路径,所以似乎
paths = ("../somepath", "../someotherpath")
修复问题并正确打印出两个字符串。
我假设初始版本将字符串视为一个字符数组(或者也许只是我说的C ++)并且只打印出字符。?... ??
我仍然想知道为什么会这样。
答案 0 :(得分:5)
("../somepath")
只不过是括号中的字符串。因此,它与"../somepath"
相同。由于Python的for
循环可以遍历任何可迭代,并且字符串碰巧是可迭代的,所以它一次打印一个字符。
要创建包含一个元素的元组,请在末尾使用逗号
("../somepath",)
如果要创建列表,则需要使用方括号,例如
["../somepath"]
答案 1 :(得分:0)
paths = ["../somepath","abc"]
这样您就可以创建list.Now您的代码将起作用。
paths = ("../somepath", "../someotherpath")
这就形成了一个元组。这又是一种不可变的列表。
答案 2 :(得分:0)
测试它,输出是每行一个字符
所以每个角色都打印一个字符
获得你想要的东西
# your code goes here
paths = ['../somepath'] #is this not how you declare an array/list?
for path in paths:
print path