如何通过for循环将元素追加到不同数组,修复Python类型判断错误
错误原因
你代码中判断变量类型的逻辑存在问题:type(i)返回的是Python的类型对象,而非字符串,因此type(i) == "<class 'int'>"的判断永远为False,导致所有元素都被追加到了Lista_texto列表中。
修复方法
有两种常用的变量类型判断方式可选:
- 直接和
int类型对象做相等判断,将判断条件改为type(i) == int - 更推荐使用
isinstance()方法(会兼容继承场景,判断逻辑更严谨),将判断条件改为isinstance(i, int)
修复后完整代码
Lista_enteros = [] Lista_texto = [] def recibir(*args): argumentos = args return argumentos filtrar_args = recibir("Hola mundo", 6) for i in filtrar_args: # 也可替换为 if type(i) == int: if isinstance(i, int): Lista_enteros.append(i) else: Lista_texto.append(i) print(Lista_enteros) print(Lista_texto)
运行输出
[6] ['Hola mundo']
内容的提问来源于stack exchange,提问作者Álvaro Rodríguez
相关产品推荐
相关产品推荐

