迭代在Python中包含元组和int的列表

Sen*_*aii 2 python loops tuples list

所以我创建了这个列表:

l = [(1,2,3),(4,5),6]
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时:

for i in l:
    print (i[0])
Run Code Online (Sandbox Code Playgroud)

它发送给我这个错误信息:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
TypeError: object of type 'int' has no len()
Run Code Online (Sandbox Code Playgroud)

所以我想知道你是否有一种方法来打印数字,如果它是一个int或第一个元素,如果它是tuple...

我希望我为你说清楚,不要犹豫,问你是否理解.

先感谢您.

meW*_*meW 5

用途isinstance:

l = [(1,2,3),(4,5),6]
for i in l:
    if isinstance(i,int):
        print(i)
    elif isinstance(i,tuple):
        print(i[0])
# 1
# 4
# 6
Run Code Online (Sandbox Code Playgroud)

使用列表推导,输出作为列表的形式:

[i if isinstance(i,int) else i[0] for i in l]
# [1, 4, 6]
Run Code Online (Sandbox Code Playgroud)