Python str()双引号字符串

时间:2015-10-11 18:55:41

标签: python string python-3.x

我知道这个问题听起来很天真,但我坚持不懈。我正在使用jquery自动完成,事实证明它需要[“data1”,“data2”]形式的列表。

我从json文件和

获取数据
data = json.load(fobj)['content']
data = [str(data[d]['name']) for d in data.keys()]

['some text','some other'....]

但我特别想要列表中的双引号字符串。我尝试过repr(str(data)),但在其中给出“'some text'”然后“'some text'”。strip(“'”)但是这又返回一个带引号的字符串。

为了完成我正在做的工作

data = [str(data[d]['name'] + "'") for d in data.keys()]

然后在字符串末尾处理“'”,但这不是正确的方法。

有什么方法可以强制str()返回双引号字符串,如str(data,quote ='“')。

2 个答案:

答案 0 :(得分:4)

jQuery意味着JavaScript。 JavaScript文字意味着JSON。只需重新编码。

>>> json.dumps(['foo', '''bar'''])
'["foo", "bar"]'

答案 1 :(得分:1)

在Python中,单引号或双引号字符串是相同的。例如:

a = 'some text'
b = "some text"

在Python中使用这两者的原因是因为你可能有:

a2 = 'He said: "Hello!"'
b2 = "It's OK!"

三重引号也用作:

a3 = """some text"""
b3 = '''some text'''

如果您要做的是在某个地方(在文件中)打印双引号字符串列表,您可以这样做:

lst = ['text 1', 'text 2']
print "[%s]" % ", ".join(map(lambda e: '"%s"' % e, lst))

输出:

["text 1", "text 2"]