Python中如何将字符串与数组内容正确拼接?
解决列表转字符串拼接的格式问题
嘿,我明白你的困扰了——直接把列表转成字符串会带上方括号和多余空格,导致拼接后的格式完全不符合预期对吧?咱们来一步步解决这个问题。
问题根源
你用str(array[0])的时候,Python会把整个列表转换成它的官方字符串表示,也就是带上[],而且元素之间还会多一个空格(比如[bla, bla, bla, bla]),这就是为什么你会得到那些奇怪的输出。
正确的解决方案
咱们需要把列表里的元素直接用逗号拼接成纯字符串,再加上你要的后缀,这里有两种情况:
情况1:列表里的元素已经都是字符串
直接用','.join()方法,它会把列表里的所有元素用逗号连接成一个没有多余格式的字符串:
array = [["bla","bla","bla","bla"], ["ble","ble","ble","ble"]] new_string = ",ok" # 处理第一个列表元素 desired_output = ','.join(array[0]) + new_string print(desired_output) # 输出:bla,bla,bla,bla,ok
情况2:列表里有非字符串元素(比如数字、日期)
如果你的CSV读取出来的列表里包含数字、日期这类非字符串类型,需要先把每个元素转成字符串,再用join:
# 比如你的实际数据列表 array[0] = [11111,22222,"88888888888","2018-01-01 00:00:00","Document","Place",...] new_string = ",ok" # 先把每个元素转成字符串再拼接 desired_output = ','.join(str(item) for item in array[0]) + new_string print(desired_output)
这样处理后,就能得到完全符合你预期的、没有方括号和多余空格的结果啦。
内容的提问来源于stack exchange,提问作者Otorrinolaringologista -man
相关产品推荐
相关产品推荐

