Python:元组中的项目数

时间:2019-03-25 13:20:51

标签: python-3.x count tuples

我有一个这样的元组:

('path1', 'path2', ('orig1', 'patch1'), ('orig2', 'patch2'))

我要计算项目数

因此,当我运行此代码时:

for item in tpl:
    print(item)
    num = len(item)
    print(num)

我明白了:

path1
5
path2
5
('orig1', 'patch1')
2
('orig2', 'patch2')
2

我的期望是:

path1
1
path2
1
('orig1', 'patch1')
2
('orig2', 'patch2')
2

注意:

非常新的Python,对于这种情况,我可能采取了完全错误的方法。

1 个答案:

答案 0 :(得分:0)

使用isinstance检查对象是什么。您当前在len()上使用string

例如:

tpl = ('path1', 'path2', ('orig1', 'patch1'), ('orig2', 'patch2'))

for item in tpl:
    print(item)
    if isinstance(item, tuple):
        num = len(item)
    else:
        num = 1
    print(num)

输出:

path1
1
path2
1
('orig1', 'patch1')
2
('orig2', 'patch2')
2