我需要创建一个字典,其中的键将是一个regexp。我想用不同的键比较一个值。例如,我希望这些键的值相同:
int(1), int(2) ... int(10)
这并不是每个人都可以创建键,我需要为所有可能的键使用一个正则表达式。我该怎么做?在
字典的近似示例:
^{pr2}$我可以不用自行车吗?在
我检查MYSQL中没有达到限制值。字段限制-始终相同。类型字段可以是int(1), int(2)...int(11)
我从MYSQL值得到tuple中字段的类型:
type_field = (u'number ', u'int (10)', u'NO ', u'PRI', None, u'auto_increment ')
以及
>>> print type_field[1]
int (10)
我想通过键type_field[1]
直接调用字典的值,而不需要循环。像这样:
di[type_field[1]]
对于int(number)
中从1到11的任何数字,我都会收到相同的值。有可能吗?在
不需要使用regex您只需在dict理解中使用
format
:示例:
^{pr2}$如果您的意思是regex的键,那么它们在Python中是散列对象:
也就是说你可以做一些类似的事情:
^{pr2}$或者在使用正则表达式之前使用表示正则表达式的字符串:
根据您的更新,我觉得您需要的是列表理解:
除此之外,您可能需要创建一个类来执行更专门的操作。从你所描述的情况来看,我认为你还需要仔细考虑一下细节。在
正则表达式模式可以预先编译并存储在任何需要的地方。在
所以创建模式并将它们存储为键,然后将数值输出作为值。在
现在假设您正在从文件中读取table create语句
^{pr2}$请记住,这是一个O(n*m)算法。我还不知道怎样才能更快。在
相关问题 更多 >
编程相关推荐