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

如何将含单元素集合的Python列表转换为指定格式字符串

解决方法

问题根源

你的代码核心问题有两个:

  1. 向fields列表中添加的是单元素集合({fieldDict.get('name')}),而非字符串,导致后续转字符串时出现{}和'符号。
  2. str.translate()方法返回新字符串,但你没有将结果重新赋值给变量,原字符串不会被修改。

修改后的完整代码

sf = Salesforce(instance_url='insideigt--tony.sandbox.my.salesforce.com/',
                username='igtdataimport@igt.com.tony', 
                password='TXRZ51rRe',
                security_token='2IagJSrI5H3zxeVjgqy1xAN7d',
                domain='test')

def getValidFeilds(sObject):
    fields = []
    print(sObject)
    schema = getattr(sf, sObject).describe()

    for fieldDict in schema.get('fields', []):
        fieldType = fieldDict.get('type')
        if fieldType not in ['address', 'location'] and not fieldDict.get('compoundFieldName'):
            # 直接添加字符串,而非集合
            fields.append(fieldDict.get('name'))
    
    # 直接用', '拼接字符串列表,一步得到目标格式
    my_string = ', '.join(fields)
    print(my_string)
    # 如果需要返回字符串而非列表,把下面的return改成return my_string
    return fields

sObject = 'Lead'
fields = getValidFeilds(sObject)

关键改动说明

  • 替换集合为字符串:将fields.append({fieldDict.get('name')})改为fields.append(fieldDict.get('name')),让fields成为纯字符串列表,从根源避免多余符号。
  • 简化字符串拼接:直接使用, .join(fields),就能生成字段1, 字段2, ...格式的目标字符串,无需额外处理字符。
  • 可选调整返回值:如果你的需求是返回格式化后的字符串,而非字段列表,将return fields改为return my_string即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 05:53:14