我在搜索一个字典(股票)中的密钥和相应值是否在另一个字典(购物篮)中时遇到问题
这是我收到的错误:
stock = {
'10005' : {
'name' : 'Conference Pears Loose',
'price' : 2.00,
'unit' : 'kg',
'promotion' : None,
'group' : None,
'amount' : 1.550
},
'10013' : {
'name' : 'Emmental Slices 250G',
'price' : 1.75,
'unit' : 'pieces',
'promotion' : 'get2pay1',
'group' : None,
'amount' : 9
},
'10015' : {
'name' : 'Diced Beef 400G',
'price' : 4.50,
'unit' : 'pieces',
'promotion': 'get4pay3',
'group' : 4,
'amount' : 14
}}
basket = {}
if stock['10005'] in basket:
print("yay")
else:
print("noo")
如果你想看看,这是我的代码。我试过在篮子里买股票[关键]。但是这给出了一个错误,我想不出另一种尝试。
非常感谢
class Parent {
};
class Child : public Parent {
};
void Test(Parent* parents, uint8_t parentCount, uint16_t parentSize) {
for (uint8_t ii = 0; ii < parentCount; ++ii) {
void* parentvoid = reinterpret_cast<char*>(parents) + ii * parentSize;
Parent* parent = parentvoid;
}
}
int main() {
Parent parents[3];
Test(parents, 3, sizeof(parents[0]));
Child children[3];
Test(children, 3, sizeof(children[0]));
}
答案 0 :(得分:1)
只需使用密钥......
if '10005' in basket:
print("it's in basket")
elif '10005' in stock:
print("it's in stock")
else:
print("it's nowhere")
答案 1 :(得分:1)
你正在寻找股票[&#39; 10005&#39;]的价值,这是一个大型的股票,也是一个关键的篮子。
https://docs.python.org/2/library/stdtypes.html#typesmapping
字典的键几乎是任意值。不可清除的值,即包含列表,字典或其他可变类型的值(通过值而不是按对象标识进行比较)不能用作键。
我想也许你想看看&#39; 10005&#39;在篮子里
答案 2 :(得分:0)
您可以尝试这样的事情:
key = 'a key your are testing'
if basket.get(key, false) == stock[key]:
print('yes')
else:
print('no')
答案 3 :(得分:0)
首先,您无法测试某些内容是否包含字典。错误消息TypeError: unhashable type: 'dict'
基本上告诉您;有关here的一些细节。
您可能需要两个步骤:
例如:
if '10005' in basket and basket['10005'] == stock['10005']:
print "Yup"
else:
print "Nope"
答案 4 :(得分:0)
import json
stock = {
'10005' : {
'name' : 'Conference Pears Loose',
'price' : 2.00,
'unit' : 'kg',
'promotion' : None,
'group' : None,
'amount' : 1.550
},
'10013' : {
'name' : 'Emmental Slices 250G',
'price' : 1.75,
'unit' : 'pieces',
'promotion' : 'get2pay1',
'group' : None,
'amount' : 9
},
'10015' : {
'name' : 'Diced Beef 400G',
'price' : 4.50,
'unit' : 'pieces',
'promotion': 'get4pay3',
'group' : 4,
'amount' : 14
}}
basket = {}
for item in stock.keys():
if item in basket.keys():
print("This key " + item + " is in basket")
else:
print("This key " + item + " is not in basket")
for item in stock.values():
if item in basket.values():
print("This value " + json.dumps(item) + " is in basket")
else:
print("This value " + json.dumps(item) + " is not in basket")