Python 3 元组迭代。错误或预期行为?

Dav*_*haw -2 python python-2.7 python-3.x

如果我有一个包含单个可迭代项(列表或元组)的父列表,并且我遍历父列表,则循环运行一次,并将子列表或元组作为单个参数,但如果我使用元组对于父级,循环实际上遍历子级,循环多个,如下面的代码片段所示。这是预期的行为还是需要报告为错误?

非常感谢,大卫肖

test = [(1, 'one')]
for i in test:
    print(test)
Run Code Online (Sandbox Code Playgroud)

输出:

(1, 'one)
Run Code Online (Sandbox Code Playgroud)

Python

test = ((2, 'two'))
for i in test:
    print(test)
Run Code Online (Sandbox Code Playgroud)

输出:

2
'two'
Run Code Online (Sandbox Code Playgroud)

Mar*_*nen 5

括号不构成元组。逗号构成元组。这些都是整数 1 的相同值:

x = ((1))
x = (1)
x = 1
Run Code Online (Sandbox Code Playgroud)

相比于:

x = ((1,'one'))
x = (1,'one')
x = 1,'one'
Run Code Online (Sandbox Code Playgroud)

全部构成一个 2 元组。

使用以下命令在 1 元组中对 2 元组进行分组:

x = (1,'one'),    
Run Code Online (Sandbox Code Playgroud)