Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 防止在我的列表中使用外部双引号_Python_Python 2.7 - Fatal编程技术网

Python 防止在我的列表中使用外部双引号

Python 防止在我的列表中使用外部双引号,python,python-2.7,Python,Python 2.7,我的程序(未显示)正在中断,因为外部双引号被插入到我的列表中。如何使列表x中没有双引号 s = "('x',),('y',)" print s ('x',),('y',) x = [] x.append(s) print x ["('x',),('y',)"] 当我打印x时,我希望它的输出像这样(没有双引号) 打印x [('x',),('y',)]这个怎么样: >>> s = "('x',),('y',)" >>> s = eval(s) >>

我的程序(未显示)正在中断,因为外部双引号被插入到我的列表中。如何使列表x中没有双引号

s = "('x',),('y',)"
print s
('x',),('y',)

x = []
x.append(s)
print x
["('x',),('y',)"]
当我打印x时,我希望它的输出像这样(没有双引号) 打印x [('x',),('y',)]

这个怎么样:

>>> s = "('x',),('y',)"
>>> s = eval(s)
>>> x = []
>>> x.extend(s)
>>> print(x)
[('x',),('y',)]
但是一定要检查你做的每件事都是正确的,这才是你真正想要的。这显然不像是解决任何问题的最直观(或最有说服力)的方式

用于将Python数据的字符串表示形式转换为实际数据结构:

>>> from ast import literal_eval
>>> s = "('x',),('y',)"
>>> literal_eval(s)
(('x',), ('y',))
literal_eval的工作原理类似于
eval
,但只能从字符串生成literal Python数据:字符串、数字、元组、列表、dicts、布尔值和None。比单独使用
eval
安全得多

如果您确实想要字符串中的列表与元组:

>>> list(literal_eval(s))
[('x',), ('y',)]

如果要避免导入库,请使用另一种方法:

[(k,) for k in tuple(s) if k.isalnum()]

s
不是列表,而是字符串。对,s的内容来自一个巨大的文件。我希望将文件的内容一次全部附加到一个空列表中。那么您想将字符串转换为列表吗?引号在那里,因为x是一个单项列表。谁的唯一成员是字符串。你到底想做什么?要获得您想要的输出,您可以打印'[%s]'%s,但我怀疑这不是您想要的,因为您正在尝试做其他事情,让我们调试无效的解决方案,而不是提出问题,以便我们可以提出更好的解决方案。或者只是。。。x=eval可能
x=list(eval))
。仍然不知道这是什么意思。
eval()
几乎总是个坏主意。使用它的有效案例很少。不知道我是否会同意,这肯定是我想要达到的目标清单中的一个很深的部分,但是你看到了实现OP想要的更好的方法吗?(没有进一步的信息,他真正想要的是什么)哦,太好了。不知道他们宣布图书馆的那天我在做什么。:-)