如:
dict = {1:"华为科技技术有限公司",2:"中兴通讯有限公司",3:"华为通讯技术公司",4:"中国移动",5:"华为科技研究院".......}
想找出值中包含“华为科技”的键,输出符合条件的值和对应的键。类似SQL中的:“select * from table where company like '%华为科技%',在python中咋实现??
如:
dict = {1:"华为科技技术有限公司",2:"中兴通讯有限公司",3:"华为通讯技术公司",4:"中国移动",5:"华为科技研究院".......}
想找出值中包含“华为科技”的键,输出符合条件的值和对应的键。类似SQL中的:“select * from table where company like '%华为科技%',在python中咋实现??
遍历,然后开头是华为科技的放一起就行了
# coding=utf-8
data = {
1: u"华为科技技术有限公司",
2: u"中兴通讯有限公司",
3: u"华为通讯技术公司",
4: u"中国移动",
5: u"华为科技研究院"
}
match_data = {}
for (key, value) in data.items():
if value.startswith(u'华为科技'):
match_data[key] = value
print(match_data)
2 回答4.9k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
4 回答818 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
1 回答1.6k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
遍历就可以了,复杂度是 O(n)
如果想要更快,去研究全文索引吧。不过你的 like 查询本来就是 O(n) 的。