Python相当于QList c ++的join [重复]
Posted
技术标签:
【中文标题】Python相当于QList c ++的join [重复]【英文标题】:Python equivalent of join for QList c++ [duplicate] 【发布时间】:2013-09-08 21:23:48 【问题描述】:我正在编写一个简单的文本编辑器,我有一个关键字列表,我在 Python 中这样定义:
keywords = [
"action" ,
"perform",
]
在 c++ 中就像这样
#define
QList<QString> keywords
keywords.append("action");
keywords.append("perform");
; // Is this correct? I am trying to create a constant that would be a list of keywords
在 Python 中,我创建了一个匹配关键字的正则表达式,如下所示:
keyword_match = r'\b(' + r'|'.join(keywords) + r')\b'
我的问题是,我怎样才能在c++中获得与“加入”相同的效果。
【问题讨论】:
如果您描述所需的功能而不参考 Qt 会更好,以便了解 Python 但不了解 Qt 的人可以帮助您。 不要将#define
用于常量。除非必须,否则不要将其用于任何事情。不,这不是正确的语法。
@us2012 基本上在 c++ 中,我需要一个正则表达式来匹配关键字列表或数组中的任何单词。
旁注:在创建正则表达式时切勿使用'|'.join(seq)
除非您100% 确定seq
的元素不包含任何正则表达式的特殊字符。如果您不能 100% 确定,请使用 re.escape
: '|'.join(re.escape(word) for word in keywords)
。
【参考方案1】:
使用QStringList
,它有一个join()
方法。
【讨论】:
以上是关于Python相当于QList c ++的join [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Python里 print("".join([d.get(c,c) for c in s])) 这句是啥意思?