python比较set和dict
我有一些DB data1,当fetchall看起来像这样时python比较set和dict,python,dictionary,set,Python,Dictionary,Set,我有一些DB data1,当fetchall看起来像这样时 {u'name': 'abcd', u'id': 3} {u'name': 'efg', u'id': 5} {u'name': 'xyz', u'id': 6} 我还有另一个数据2,不是来自DB 它看起来像set(['abc','abdc','bcd']) 我想找到data1'名称中存在data2,并想返回u'id'number(如果存在) 有没有办法在Python中找到答案?喜欢使用C++ STD::……映射如下… map<
{u'name': 'abcd', u'id': 3}
{u'name': 'efg', u'id': 5}
{u'name': 'xyz', u'id': 6}
我还有另一个数据2,不是来自DB
它看起来像set(['abc','abdc','bcd'])
我想找到data1'名称中存在data2,并想返回u'id'
number(如果存在)
有没有办法在Python中找到答案?喜欢使用C++ STD::……映射如下…
map<string,int> data1
list<string> data2
map<string,int>::iterator it = data1.find(data2.front());
if (it != data1.end()) {
std::cout << it->second <<\n;
}
我想你要找的是:
for elem in data2:
try:
print(data1[elem])
except KeyError:
pass
或者甚至不是一个循环,因为C++代码只占用列表的第一个元素:
elem = data2[0]
try:
print(data1[elem])
except KeyError:
pass
或者,因为你提到了一个集合,C++集默认是排序的(Python集合是任意顺序的,所以如果你想要最小的值,你必须要它),也许这个:
elem = min(data2)
try:
print(data1[elem])
except KeyError:
pass
你似乎哪里都没有元组;只有一份口述和一套。到目前为止你都试了些什么?请发布您的代码。我认为您比
elem = min(data2)
try:
print(data1[elem])
except KeyError:
pass