从 python 字符串中删除引号

remove inverted commas from python string

我有一个非常恼人的字符串格式问题。我尝试了不同的方法,但我似乎迷路了。 这是我的预期输出:["aa","b","c","dd"].

示例代码:

mylist = ['b','c']
mylisttmp = ','.join('"{0}"'.format(x) for x in mylist)
finalstr='"aa"' +","+"{}".format(mylisttmp) +","+'"dd"'
print([finalstr])

OUTPUT:['"aa","b","c","dd"']   #How to get rid of the end quotes,which is causing issues?

我做了很多字符串拆分、连接等操作,但我一直在处理同一个问题。 我打算使用带有 tkinter 属性 的格式化输出,如下所示:

myComboBox['values']= ["aa","b","c","dd"]

请指导我。谢谢

我的意思是您已经在附加 aadd,那么为什么不直接添加左右方括号呢?

mylist = ['b','c']
mylisttmp = ','.join('"{0}"'.format(x) for x in mylist)
finalstr='["aa"' +","+"{}".format(mylisttmp) +","+'"dd"]'
print(finalstr)

输出

["aa","b","c","dd"]

您实际上根本不需要字符串。您想要一个包含四个字符串的列表。

mylist = ['b','c']
finalset = ["aa"] + mylist + ["dd"]
print(finalset)

输出

>>> print(finalset)
['aa', 'b', 'c', 'dd']
>>>
print(f'["aa",{mylisttmp},"dd"]')

这实质上是对您所见的两个基本误解。

  1. 你所说的单引号(你想去掉的)只是解释器告诉你这个对象是一个字符串。但是您知道这一点,因为您确实将其创建为字符串。

  1. python 解释器接受单引号和双引号作为字符串分隔符,但会显示由单引号分隔的字符串。因此,当您想要 ["a","b"],但可能只能得到 ['a','b'] 时,您会认为这是一个错误,但实际上它们是相同的。

所以在你的情况下,你可能想要的是 ['aa','b','c','dd']。根本不要乱用字符串格式。