Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.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,我在下面尝试过,但似乎每个空间都是组合的 results = [['my name is', 'my name is "Joe A"', 'my name is "Kim S"', 'my name is "Sam K"', 'my name is "Paul F"']] 我期望的结果是 result = [["".join("".join(sub).split())] for sub in results] 我只想删除“”和小写之间的空格,使其从“JoeA”变为“JoeA”。您可以在您的案

我在下面尝试过,但似乎每个空间都是组合的

results = [['my name is', 'my name is "Joe A"', 'my name is "Kim S"', 'my name is "Sam K"', 'my name is "Paul F"']]
我期望的结果是

result = [["".join("".join(sub).split())] for sub in results]

我只想删除“”和小写之间的空格,使其从“JoeA”变为“JoeA”。

您可以在您的案例中使用正则表达式,它提取
中的值(双引号)将它们格式化为所需的格式:

result = [['my name is', 'my name is "joea"', 'my name is "kims"', 'my name is "samk"', 'my name is "paulf"']]
代码

re.sub(r'"(\w+)(\s(\w+))*"', '"\\1\\3"', x.lower())

您可以在案例中使用regex,它提取
“”
(双引号)中的值,并将其格式化为所需的格式:

result = [['my name is', 'my name is "joea"', 'my name is "kims"', 'my name is "samk"', 'my name is "paulf"']]
代码

re.sub(r'"(\w+)(\s(\w+))*"', '"\\1\\3"', x.lower())

我会采用最具python风格的方式,即列表理解:

import re

results = [['my name is', 'my name is "Joe A"', 'my name is "Kim S"', 'my name is "Sam K"', 'my name is "Paul F"']]

print([re.sub(r'"(\w+)(\s(\w+))*"', '"\\1\\3"', x.lower()) for x in results[0]])
# ['my name is', 'my name is "joea"', 'my name is "kims"', 'my name is "samk"', 'my name is "paulf"']

我会采用最具python风格的方式,即列表理解:

import re

results = [['my name is', 'my name is "Joe A"', 'my name is "Kim S"', 'my name is "Sam K"', 'my name is "Paul F"']]

print([re.sub(r'"(\w+)(\s(\w+))*"', '"\\1\\3"', x.lower()) for x in results[0]])
# ['my name is', 'my name is "joea"', 'my name is "kims"', 'my name is "samk"', 'my name is "paulf"']

如果“我的名字是”不一致怎么办?例如,可以是“她的名字是”或“他的名字是”,并且可以更改。如果“我的名字是”不一致怎么办?例如,可以是“她的名字是”或“他的名字是”,并且可以更改。如果是“Joe A G”,您希望将“joeag”和“KIM S F”改为“kimsf”,该怎么办?中间的首字母似乎被截断了。当它是“Joe A G”时,你想把“joeag”和“KIM S F”改为“kimsf”呢?看起来中间的首字母被截断了。