You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python嵌套元组拆分:为何无法将整数与字符串存入对应元组?

你的Python代码无法正常工作的原因

你的需求是将嵌套元组中的元素拆分,把整数存入unique_num元组、字符串存入unique_words元组,期望输出:

unique_num = (45, 21, 10, 24, 2)
unique_words = ('foot', 'basket', 'hand', 'foot', 'hand')

你编写的代码如下:

def unique_data_items(data):
    unique_num = ()
    unique_words = ()
    for items in data:
        for values in items:
            if values == int:
                unique_num= unique_num + values
            elif values == str :
                unique_words= unique_words + values

        return ((unique_words), (unique_num))


data = ((45, 'foot'), (21, 'basket'), (10, 'hand'), (24, 'foot'), (21, 'hand'))
print(unique_data_items(data))

代码无法正常工作的核心问题有三个:

  • 类型判断逻辑错误:你用values == int来判断元素是否为整数,这是在比较values是否等于int这个类型对象,而不是判断values的类型是整数。正确的类型判断应该用isinstance(values, int),字符串同理用isinstance(values, str)。
  • 元组拼接方式错误:元组只能和元组拼接,你直接把单个整数/字符串加到元组上会触发类型错误。应该把单个元素包装成元组再拼接,比如unique_num = unique_num + (values,)。
  • return语句位置错误:你的return写在了外层for循环的内部,第一次循环处理完第一个子元组(45, 'foot')后就直接返回结果了,后面的子元组根本没机会被处理。必须把return移到外层循环的外面,确保所有元素都处理完再返回。

内容的提问来源于stack exchange,提问作者astra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 00:15:35