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('"'),但没有看到我想要什么。
发布于 2020-09-17 04:01:21
试试这个:
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'
发布于 2020-09-15 22:52:16
您可以用几行代码来完成这个任务:
VERSION = ["'pilot-2'", "'pilot-1'"]
VERSIONS_F = [item [1:-1] for item in VERSION]
print(VERSIONS_F)产出:
['pilot-2', 'pilot-1']这样,只需将第一个和最后一个字符从字符串中分割出来,而字符串假定"“始终位于第一个和最后一个位置。
注: Grismar也很好地概述了在引擎盖下面发生的事情。
发布于 2020-09-15 22:46:22
在打印列表时,Python将打印列表的表示形式,因此列表中的字符串不会像通常的字符串那样打印:
>>> print('hello')
hello与之相比:
>>> print(['hello'])
['hello']添加不同的引号将导致Python选择相反的引号来表示字符串:
>>> print(['\'hello\''])
["'hello'"]
>>> print(["\"hello\""])
['"hello"']一开始,Python程序员经常犯一个错误,就是把控制台上打印的内容与实际值混淆起来。print(x)没有向您展示x的实际值(不管是什么),而是它的文本字符串表示。
例如:
>>> x = 0xFF
>>> print(x)
255在这里,一个值被赋值为它的十六进制表示,但当然实际值只有255 (以十进制表示),而十进制表示是打印整数值时选择的标准表示形式。
变量的“实”值是一个抽象的数值,表示它时所作的选择不会影响它。
在您的示例中,使用VERSION = ["'pilot-2'", "'pilot-1'"]将字符串定义为具有单引号作为字符串的一部分。因此,如果要删除这些单引号,可以:
VERSION = ["'pilot-2'", "'pilot-1'"]
VERSIONS_F = []
for item in VERSION:
temp = item.replace("'",'')
VERSIONS_F.append(temp)
print (VERSIONS_F)结果:
['pilot-2']
['pilot-2', 'pilot-1']或者,更简单地说:
VERSIONS_F = [v.strip("'") for v in VERSION]针对这一评论:
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))https://stackoverflow.com/questions/63910755
复制相似问题