首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从字符串列表中删除双引号?

如何从字符串列表中删除双引号?
EN

Stack Overflow用户
提问于 2020-09-15 22:41:04
回答 3查看 1.3K关注 0票数 0
代码语言:javascript
复制
VERSION = ["'pilot-2'", "'pilot-1'"]
VERSIONS_F = []
for item in VERSION:
    temp = item.replace('"','')
    VERSIONS_F.append(temp)
    print (VERSIONS_F)

在上面的代码块中,VERSIONS_F也打印相同的["'pilot-2'", "'pilot-1'"],但是我需要类似于['pilot-2', 'pilot-1']的东西。我甚至试过strip('"'),但没有看到我想要什么。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-09-17 04:01:21

试试这个:

代码语言:javascript
复制
VERSION = ["'pilot-2'", "'pilot-1'"]
VERSIONS_F = []
for item in VERSION:
  temp = item.replace("'",'')
  VERSIONS_F.append(temp)
print (VERSIONS_F)

它将打印'pilot-2','pilot-1'

票数 0
EN

Stack Overflow用户

发布于 2020-09-15 22:52:16

您可以用几行代码来完成这个任务:

代码语言:javascript
复制
VERSION = ["'pilot-2'", "'pilot-1'"]
VERSIONS_F = [item [1:-1] for item in VERSION]
print(VERSIONS_F)

产出:

代码语言:javascript
复制
['pilot-2', 'pilot-1']

这样,只需将第一个和最后一个字符从字符串中分割出来,而字符串假定"“始终位于第一个和最后一个位置。

注: Grismar也很好地概述了在引擎盖下面发生的事情。

票数 1
EN

Stack Overflow用户

发布于 2020-09-15 22:46:22

在打印列表时,Python将打印列表的表示形式,因此列表中的字符串不会像通常的字符串那样打印:

代码语言:javascript
复制
>>> print('hello')
hello

与之相比:

代码语言:javascript
复制
>>> print(['hello'])
['hello']

添加不同的引号将导致Python选择相反的引号来表示字符串:

代码语言:javascript
复制
>>> print(['\'hello\''])
["'hello'"]
>>> print(["\"hello\""])
['"hello"']

一开始,Python程序员经常犯一个错误,就是把控制台上打印的内容与实际值混淆起来。print(x)没有向您展示x的实际值(不管是什么),而是它的文本字符串表示。

例如:

代码语言:javascript
复制
>>> x = 0xFF
>>> print(x)
255

在这里,一个值被赋值为它的十六进制表示,但当然实际值只有255 (以十进制表示),而十进制表示是打印整数值时选择的标准表示形式。

变量的“实”值是一个抽象的数值,表示它时所作的选择不会影响它。

在您的示例中,使用VERSION = ["'pilot-2'", "'pilot-1'"]将字符串定义为具有单引号作为字符串的一部分。因此,如果要删除这些单引号,可以:

代码语言:javascript
复制
VERSION = ["'pilot-2'", "'pilot-1'"]
VERSIONS_F = []
for item in VERSION:
    temp = item.replace("'",'')
    VERSIONS_F.append(temp)
    print (VERSIONS_F)

结果:

代码语言:javascript
复制
['pilot-2']
['pilot-2', 'pilot-1']

或者,更简单地说:

代码语言:javascript
复制
VERSIONS_F = [v.strip("'") for v in VERSION]

针对这一评论:

代码语言:javascript
复制
VERSION = ["'pilot-2'", "'pilot-1'"]
temp_list = ['pilot-1', 'test-3']

print(any(x in [v.strip("'") for v in VERSION] for x in temp_list))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63910755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档