python如何使用双引号

时间:2016-03-30 01:00:35

标签: python list printing delimiter quote

我有一个清单,即

my_list = ['a', 'b', 'c', 'd','e','f']

我想以管道或逗号分隔格式打印出来,但由于我的一些列表对象可以有逗号或管道,我想在打印时在每个对象周围包装双引号

即。输出应该是

"a"|"b"|"c"|"d"|"e"|"f" rather than a|b|c|d|e|f

我无法在我的python版本

上使用格式

4 个答案:

答案 0 :(得分:4)

创建一个格式化每个元素的生成器,然后将其解压缩并使用自定义分隔符。如果您正在使用Python 2,import首先是print()函数(这也可以在Python 3中安全地完成):

>>> from __future__ import print_function
>>> print(*('"{}"'.format(item) for item in my_list), sep='|')
"a"|"b"|"c"|"d"|"e"|"f"

答案 1 :(得分:3)

不要自己这样做。你会试图处理所有角落案件。 (如果您的字段中可以包含双引号,该怎么办?)请改用csv模块:

s = StringIO()
writer = csv.writer(s, delimiter="|")
writer.writerow(["a", "b", "c", "d,", "e|", "foo\"bar"])
print i.getvalue()

你得到:

a|b|c|d,|"e|"|"foo""bar"

答案 2 :(得分:1)

>>> "|".join(['"{0}"'.format(x) for x in my_list])
"a"|"b"|"c"|"d"|"e"|"f"

答案 3 :(得分:0)

>>> print '"' + '"|"'.join(my_list) + '"'
"a"|"b"|"c"|"d"|"e"|"f"