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

Python开发:用type函数将序列元素分类为字符串、整数、浮点数二维列表

Python 实现按类型分类序列元素的函数

函数实现

def sort_str_int_float_list(sequence):
    str_list = []
    int_list = []
    float_list = []
    for item in sequence:
        item_type = type(item)
        if item_type is str:
            str_list.append(item)
        elif item_type is int:
            int_list.append(item)
        elif item_type is float:
            float_list.append(item)
    return [str_list, int_list, float_list]

实现思路

  1. 初始化三个空列表,分别作为字符串、整数、浮点数的存储容器
  2. 遍历输入序列(支持list和tuple类型,两者均为可迭代序列)
  3. 用type()函数严格判断元素类型,将元素追加到对应类型的列表中
  4. 返回由三个类型列表组成的二维列表,元素顺序与原序列完全一致

任务要求

  • 实现函数sort_str_int_float_list,需遍历输入序列,使用type函数按数据类型对元素进行分类
  • 函数需返回二维列表(无论参数是list还是tuple),结构为:[[字符串元素列表], [整数元素列表], [浮点数元素列表]],元素保持在原序列中的顺序

测试示例

  • sort_str_int_float_list(["foo",3,7.5]) 应返回 [["foo"],[3],[7.5]]
  • sort_str_int_float_list([1.0,"foo",3,"bar",9,7.5]) 应返回 [["foo","bar"],[3,9],[1.0,7.5]]
  • sort_str_int_float_list([1.0,"foo","3","bar",9,7.5]) 应返回 [["foo","3","bar"],[9],[1.0,7.5]]

测试代码

将上述函数保存到sort_types.py文件中,运行以下代码验证功能:

import sort_types as testFile

def test_my_function():
    score = 0

    TEST_DATA = (
        (['foo',3,7.5],[['foo'],[3],[7.5]]),        
        ([1.0,'foo',3,'bar',9,7.5], [['foo','bar'],[3,9],[1.0,7.5]]),
        ([1.0,'foo','3','bar',9,7.5],[['foo','3','bar'],[9],[1.0,7.5]]),
        (('bar',3,7.5),[['bar'],[3],[7.5]]),
        ((1.0,'foo','bar','7.5'), [['foo','bar','7.5'],[],[1.0]])
    )

    for test in TEST_DATA:
        testarg = test[0]
        expected = test[1]

        print("Test argument:", testarg)
        print("Expected result:", expected)

        result = testFile.sort_str_int_float_list(testarg)
        print("Result:",result)

        if result == expected:
            score += 5
            print ("Passed.")
        else:
            print ("Failed.")

    print("Score:",score)

test_my_function()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 18:10:26