MST

星途 面试题库

面试题:Python复杂列表结构值的智能提取与转换

有一个复杂列表 `complex_list = [1, 'two', [3, 'four', 5], {'six': 6}, 7]`。编写一个函数,能够智能地提取出列表中所有数值类型(整数和浮点数)的值,然后将这些值按照从小到大排序,最后将排序后的值转换为它们的立方值,并返回新的列表。
34.0万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
def extract_and_transform(complex_list):
    numeric_values = []
    for item in complex_list:
        if isinstance(item, int) or isinstance(item, float):
            numeric_values.append(item)
        elif isinstance(item, list):
            for sub_item in item:
                if isinstance(sub_item, int) or isinstance(sub_item, float):
                    numeric_values.append(sub_item)
        elif isinstance(item, dict):
            for sub_item in item.values():
                if isinstance(sub_item, int) or isinstance(sub_item, float):
                    numeric_values.append(sub_item)
    sorted_values = sorted(numeric_values)
    cubed_values = [value ** 3 for value in sorted_values]
    return cubed_values

complex_list = [1, 'two', [3, 'four', 5], {'six': 6}, 7]
result = extract_and_transform(complex_list)
print(result)