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...
我希望我为你说清楚,不要犹豫,问你是否理解.
先感谢您.
用途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)