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

如何修改Python列表比较函数,使其输出共同项时仅保留字符串排除整数

修改方案

你只需要在原函数的列表推导式中新增字符串类型校验条件即可,调整后的完整代码如下:

def compare_lists_same(list3, list4):
    # 新增类型判断条件过滤非字符串元素
    common = [j for j in list4 if j in list3 and isinstance(j, str)]
    return common

A = ['beef','chicken','steak','fish','plants', 1, 2]
B = ['plants','steak','cheese', 1, 2, 3, 4, 5]
ignore_case = False
print('First list:'+str(A))
print('Second list'+str(B))
C = compare_lists_same(A,B)
print('The common items from the lists are'+str(C))

运行结果

First list:['beef', 'chicken', 'steak', 'fish', 'plants', 1, 2]
Second list['plants', 'steak', 'cheese', 1, 2, 3, 4, 5]
The common items from the lists are['plants', 'steak']

说明

  • 新增的isinstance(j, str)会校验遍历到的元素是否为字符串类型,只有同时满足「属于两个列表的共同元素」和「为字符串类型」两个条件的元素才会被保留到结果中。
  • 如果你后续需要启用忽略大小写匹配的逻辑,还可以基于现有的ignore_case参数扩展判断规则,对字符串元素做统一大小写转换后再判断是否相等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 17:48:04