将字符串转换为引号Python

时间:2013-05-19 19:11:58

标签: python

以下是我要做的事情:

假设已经提供给我的数据集:

dictionary = {'products': [{'a': '1', 'b': '2', 'c': '3', 'd': '4', [...]}

我可以在字典中获取数字值,如下所示:     字典[ '产品'] [0] [“风格]

我正在尝试将'products'存储在变量中,将第二个键(a,b,c,d等)存储在另一个变量中。

x = (dictionary.keys())
x = "'"+x[0]+"'"
keys = dictionary['products'][0].keys()

我的最终目标是:

for i in xrange(number_of_products - 1):
    for j in xrange(len(keys) - 1):
        values[i][j] = dictionary[x][i][keys[j]] ##ERROR Here when I try to index using key[j]

5 个答案:

答案 0 :(得分:3)

repr()会将字符串转换为其引用的表示形式。

x = 'products'
print repr(x)

这将正确处理包含单引号的x

答案 1 :(得分:0)

怎么样?

>>> x = '\''+x+'\''
>>> print x
'products'

类似地,

>>> x = "'"+x+"'"
>>> print x
'products'

答案 2 :(得分:0)

尝试:

In [4]: x = "products"

In [5]: print "'%s'" % x
'products'

答案 3 :(得分:0)

你可以使用三重引号,不需要使用转义字符..一组三重引号内的任何内容都被视为字符串

>>> x="""'products'"""
>>> print x
'products'

答案 4 :(得分:0)

您的代码版本如下所示:

for i in range(len(dictionary['products'])):
    for j in dictionary['products'][i]:
        values[i][j] = dictionary['products'][i][j]

然而,更短的版本是:

values = dictionary['products']