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

如何生成元素比指定SymPy集合内元素大2的新集合

实现方案

方法1:使用ImageSet(推荐,匹配集合映射场景)

ImageSet是SymPy专门用于对集合所有元素做映射变换的工具,直接满足你给每个元素加2的需求,代码如下:

from sympy import FiniteSet, ImageSet, Lambda, Symbol

y = FiniteSet(-3, 3)
x = Symbol('x')
# 定义映射规则:将集合y的每个元素x映射为x+2
new_set = ImageSet(Lambda(x, x + 2), y)
print(new_set) # 输出结果为 {-1, 5}

方法2:修复ConditionalSet写法

你原有代码报错的原因是:Python原生的in运算符无法对SymPy符号变量做符号化的包含关系判断,需要替换为SymPy内置的Contains函数来表达条件:

from sympy import FiniteSet, ConditionalSet, Symbol, S, Contains

y = FiniteSet(-3, 3)
x = Symbol('x')
new_set = ConditionalSet(x, Contains(x - 2, y), S.Reals)
print(new_set.doit()) # 执行后得到 {-1, 5}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:54:03