【发布时间】:2018-11-28 17:47:52
【问题描述】:
这是我当前列表的格式:
["'There's no going back', 'pop'", "'Mark my words', 'pop'", "'This love will make you levitate', 'pop'", "'Like a bird, like a bird without a cage', 'pop'"]
我想把它转换成以下格式:
[('There\'s no going back', 'pop'), ('Mark my words', 'pop'), ('This love will make you levitate', 'pop'), ('Like a bird, like a bird without a cage', 'pop')]
所以我需要将输入字符串标记为元组。但我不确定如何做到这一点,因为“”存在,因为它主要是一个字符串。
如果需要额外的上下文,我会以上述格式抓取大量数据,并使用朴素贝叶斯分类器对其进行处理,我需要括号格式的数据。如果它更有效,我愿意尝试不同的方法。
【问题讨论】:
-
如果您的内部字符串中没有撇号,这会容易得多。另外,你试过什么?
-
不清楚您的预期输出是什么,因为您提供的不是有效的 Python 文字/表达式。
-
提供的输入输出肯定是有效的,第一个是字符串列表,第二个是元组列表。第一个是原始输入的字符串,第二个是标记为元组的字符串。
-
@PrianshShah 不是,这是一个语法错误,从语法突出显示中应该很明显。这也不清楚,因为
"是字符串对象表示 的一部分。虽然你的解释是合理的。 -
语法高亮问题是由第一个元组的第一个元素引起的,它有一个未转义的';您肯定可以通过
[x.replace("'",'').split(', ') for x in xs]获得所需的输出。如果有帮助,我会继续编辑原始问题以转义字符串并允许语法突出显示。
标签: python string list text-processing naivebayes