Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 - Fatal编程技术网

在python中以元组表示的字符串中拆分字符时,如何删除单个引号

在python中以元组表示的字符串中拆分字符时,如何删除单个引号,python,Python,字符串表示如下所示: str = '1,1' p = ('1,1',) (1,1) 将其更改为元组,如下所示: str = '1,1' p = ('1,1',) (1,1) 我需要一些类似于下面给出的表示: str = '1,1' p = ('1,1',) (1,1) 你是说像这样的事吗 s = '1,1' p = tuple( int(x) for x in s.split(',') ) 这会导致元组元素是整数,这似乎是您想要的 如果您希望元组元素是字符串,那么类似这

字符串表示如下所示:

str = '1,1'
p = ('1,1',)
(1,1) 
将其更改为元组,如下所示:

str = '1,1'
p = ('1,1',)
(1,1) 
我需要一些类似于下面给出的表示:

str = '1,1'
p = ('1,1',)
(1,1) 

你是说像这样的事吗

s = '1,1'
p = tuple( int(x) for x in s.split(',') )
这会导致元组元素是整数,这似乎是您想要的

如果您希望元组元素是字符串,那么类似这样的操作应该可以:

p = tuple( s.split(',') )

如果字符串中实际包含引号字符,则可以将其删除。替换(“”)..

也可以执行以下操作:

import ast
s = '1,1'
p = ast.literal_eval(s)
编辑:根据mgilson的见解使其安全。

我们可以使用正则表达式:

import re
s = '1,1'
int_tuple = tuple(int(s) for s in re.findall('\\d+', s))
Output: (1, 1)

我被标题搞糊涂了-这与“删除一条引文”有什么对应关系?@mutzmatron——我也有点困惑——这就是为什么我在回答中采用了猎枪方法(回答3个问题,希望其中一个是正确的)。@mgilson:hahaha-不错!我也同意,我也不喜欢
eval
方法-
eval
应尽可能避免!另一个注释——如果在代码中使用
str
作为变量名,则应将其更改为其他名称,以避免“隐藏”内置
str
函数(非常有用)。
eval
将对任何表达式求值(例如
s=“\u import\u('os')。system('rm-rf~')”
)如果某个小丑以某种方式将
s
变成恶意字符串,这可能会导致非常糟糕的一天
ast.literal\u eval
将仅计算文字和涉及文字的表达式。(例如字符串、列表、元组、整数、浮点、dicts…)