mysql_query("YOUR QUERY") OR die("Error:".mysql_error());
В качестве запрошенного вывода код выглядит следующим образом
d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}}
for k1,v1 in d.iteritems(): # the basic way
temp = ""
temp+=k1
for k2,v2 in v1.iteritems():
temp = temp+" "+str(k2)+" "+str(v2)
print temp
Вместо iteritems () вы также можете использовать элементы (), но iteritems () намного эффективнее и возвращает итератор .
Надеюсь, это поможет:)
Итерация через словарь дает вам ключи.
Вы сказали python ожидать кучу кортежей, и он пытался распаковать что-то, что не было кортежем (ваш код настроен на ожидание каждый итерированный элемент имеет вид (key,value)
, что не было (вы просто получали key
на каждой итерации).
Вы также пытались напечатать Key
, что не является как key
, что привело бы к NameError
.
for key in d:
print(key)
должно работать.
Чтобы получить нужные ключи и значения dict.items()
:
for key, value in d.items():
print(key)
Если вам нужны только клавиши:
for key in d:
print(key)
dict.iteritems()
вместо этого, это быстрее для этого варианта использования.
– jadsq
3 May 2017 в 06:52
d = {'dict1': {'foo': 1, 'bar': 2}, 'dict2': {'baz': 3, 'quux': 4}}
for i in d.keys():
print i
for j in d[i].keys():
print j
Выход :
dict1
foo
bar
dict2
baz
quux