#!/usr/bin/python -tt
# A dictionary Of Each New SSID
WirelessNetwork = {}
WirelessNetwork['name'] = 'baz'
WirelessNetwork['type'] = 'bar'
WirelessNetwork['pass'] = 'foo'
# A list of all SSIDs
networkAddList = (WirelessNetwork)
def addWireless(passedDict={}):
print 'Adding SSID: %s' % passedDict['name']
print 'Of type: %s' % passedDict['type']
print 'With Password: %s' % passedDict['pass']
for networkDict in networkAddList:
addWireless(networkDict)
Итак, у меня есть список «networkAddList», полный словарей, т. Е. "Беспроводная сеть". Я хочу, чтобы перебирать этот список «для networkDict в networkAddList» и передать сам словарь в моей функции «addWireless»Итерировать набор словарей и передать вложенные словари функции
Когда я запускаю пример кода выше, я получаю следующее сообщение об ошибке:
TypeError: 'string indices must be integers, not str'
Какие заставляет меня думать, что python думает, что passDict - это строка, поэтому я думаю, что мне нужны индексы строк, то есть 0 или что-то, а не ключевое «имя». Я новичок в python, но мне придется много чего делать, поэтому я надеюсь, что кто-то может указать мне в правильном направлении, поскольку я думаю, что это довольно просто. Но я не могу изменить основную идею, т. Е. Список словарей.
Не пишите «[update: tuple]« Просто исправьте это. Вопрос должен стоять один. История изменений сохраняется StackOverflow. И история изменений не имеет значения. Просто задайте вопрос ** правильно ** пожалуйста. Игнорируйте любые исторические ссылки. Правильные и полные полезны для других. История изменений на самом деле не очень полезна. –
Я вижу вашу точку, обновил название до его оригинала. – acidprime
Возвращаясь, он перестает быть правильным. Вы связываетесь с созданием кортежа словарей. Пожалуйста, исправьте вопрос, чтобы сказать «tuple». Не '[update: tuple]'. Просто кортеж, так как это синтаксис, который вы используете. Если вопрос не "почему не'() 'ограничивает список?" В этом случае спросите об этом. –