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

Python循环中字符串拼接问题:多值拼接插入+分隔符实现咨询

Python循环字符串拼接分隔符问题解决方案

问题原因

你的代码在每次拼接单条内容后都追加了+,最终生成的字符串末尾会多出一个多余的分隔符,无法得到预期格式。同时原有代码还存在print"-------"的Python3语法错误,需要补充括号。

最优解决方案

Python中处理带分隔符的字符串拼接,推荐先把所有片段存入列表,最后用str.join()方法完成拼接,该方法会自动在列表元素之间插入分隔符,不会产生首尾多余符号,性能也远高于循环拼接字符串。

修改后的完整代码如下:

mc1 = mydb.cursor()
mc2 = mydb.cursor()

mc1.execute("SELECT * FROM pdf WHERE id_primarie = 1 LIMIT 10")
myresult = mc1.fetchall()

for x in myresult:
  id_pdrimarie = x[1]
  id_pdf = x[0]
  
  sql = "SELECT * FROM proprietari WHERE id_pdf = %s"
  adr = (id_pdf, )
  mc2.execute(sql, adr)
  result = mc2.fetchall()
  
  # 初始化空列表存拼接片段
  prop_list = []
  for y in result:
    nume = y[3]
    prenume = y[4]
    nume_firma = y[29]
    
    if nume == "":
        # 拼接当前条内容加入列表
        item = f"{nume} {prenume}"
        prop_list.append(item)
        print("-------")
    else:
        prop_list.append(nume_firma)
  # 用分隔符拼接所有列表元素
  prop = ' + '.join(prop_list)
  print(prop)

注:你当前的判断逻辑为nume为空时拼接姓名,不为空时拼接公司名,若和实际业务逻辑不符,可以自行调整if的判断条件。

可选兼容方案

如果你不想修改原有拼接逻辑,也可以在循环结束后去掉末尾多余的分隔符,但该方法不推荐,存在误删内容末尾本身带有的加号或空格的风险:

# 循环拼接完成后执行
prop = prop.rstrip(' + ')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:06:03