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

Python2.7环境下实现混合列表提取字符串的get_strings函数开发

Python 2.7 混合类型列表字符串提取函数实现

需求说明

  • 运行环境限定为Python 2.7
  • 需实现函数get_strings(mixed_list),接收混合类型的列表作为入参
  • 返回值要求:由原列表中所有字符串类型元素组成的新列表,元素顺序与原列表完全一致
  • 功能示例:当入参为[1, 'a', 2, 'b', True, 'e']时,返回结果为['a', 'b', 'e']

实现代码

Python 2.7中字符串分为普通str类型和unicode类型,二者的共同父类为basestring,使用isinstance判断类型可以覆盖所有字符串场景:

def get_strings(mixed_list):
    return [item for item in mixed_list if isinstance(item, basestring)]

如果仅需要筛选普通str类型、排除Unicode字符串,将判断条件里的basestring替换为str即可。

功能测试代码

原测试代码需要调整依赖导入顺序避免报错,完整可运行测试代码如下:

import random
import string

def get_strings(mixed_list):
    return [item for item in mixed_list if isinstance(item, basestring)]

l = []
s = string.ascii_letters
for i in range(random.randint(15,25)):
    r = random.randint(0,2)
    if r == 0:
        ind = random.randint(0, len(s) - 1)
        l.append(s[ind : ind + random.randint(1, 4)])
    elif r == 1:
        l.append(random.randint(-50,50))
    else:
        l.append(random.choice([True, False, 1.0 / random.randint(1, 10)]))

print("Whole list:", l)
print("Strings only:", get_strings(l))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:06:03