>> b = ",".join(a) >>> b '1,,2,3,-6ren">
gpt4 book ai didi

python - 保护连续 string.join() 和 string.split() 上的逗号

转载 作者:行者123 更新时间:2023-11-28 19:58:31 24 4
gpt4 key购买 nike

假设以下代码(注意字符串中的逗号):

>>> a = ['1',",2","3,"]

我需要将这些值连接成一个字符串。天真的例子:

>>> b = ",".join(a)
>>> b
'1,,2,3,'

稍后我需要再次拆分生成的对象:

>>> b.split(',')
['1', '', '2', '3', '']

但是,我要查找的结果是原始列表:

['1', ',2', '3,']

在此过程中保护逗号的最简单方法是什么?我想出的最佳解决方案看起来很丑陋。

注意:逗号只是一个例子。字符串可以包含任何字符。我可以选择其他字符作为分隔符。

最佳答案

The strings can contain any character.

如果无论您使用什么作为分隔符,项目本身都有可能包含分隔符,则使用 csv module :

import csv

class PseudoFile(object):
# http://stackoverflow.com/a/8712426/190597
def write(self, string):
return string
writer = csv.writer(PseudoFile())

这将使用逗号连接 a 中的项目:

a = ['1',",2","3,"]
line = writer.writerow(a)
print(line)
# 1,",2","3,"

这从恢复a:

print(next(csv.reader([line])))
# ['1', ',2', '3,']

关于python - 保护连续 string.join() 和 string.split() 上的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8895074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com