Django拼接列表为|分隔字符串时报运算符不支持错误如何解决
问题解决方法
错误原因
你代码中使用的&=是按位与赋值运算符,Python的字符串类型不支持按位与运算,因此触发了类型不支持的报错。另外你给出的示例代码还存在一处语法问题:列表category1_tmp中的第三个元素c没有加引号,会触发变量未定义的报错。
最优解决方案
直接使用Python内置的字符串join()方法实现序列元素拼接,该方法自动处理分隔符,不会产生末尾多余分隔符的问题,无需手动写循环:
category1_tmp = ['a','b','c','d'] category1 = '|'.join(category1_tmp)
执行后category1的值就是你预期的a|b|c|d。
循环写法修复方案
如果你坚持要使用循环实现,将&=替换为字符串拼接运算符+=,再额外处理末尾多余的|即可:
category1 = '' category1_tmp = ['a','b','c','d'] for n in category1_tmp: category1 += n + '|' # 移除末尾多余的分隔符 category1 = category1.rstrip('|')
内容的提问来源于stack exchange,提问作者basskiller
相关产品推荐
相关产品推荐

