Здравствуйте, я пытаюсь сравнить этот список словарей:
Зова этого списка Животных:Попытки разделить список словарей
[{'Fishs=16': 'Fishs=16',
'Birds="6"': 'Birds="6"',
'Dogs=5': 'Dogs=5',
'Bats=10': 'Bats=10',
'Tigers=11': 'Tigers=11',
'Cats=4': 'Cats=4'},
{'Cats=40': 'Cats=40',
'Tigers': 'Tigers = 190',
'Birds=4': 'Birds=4',
'Bats': 'Bats = Null',
'Fishs': 'Fishs = 24',
'Dogs': 'Dogs = 10'}]
Я хочу, чтобы сделать список выглядеть следующим образом
[{'Tigers': 'Tigers=11',
'Dogs': 'Dogs=5',
'Cats': 'Cats=4',
'Bats': 'Bats=10',
'Fishs': 'Fishs=16',
'Birds': 'Birds="6"'},
{'Tigers': 'Tigers=190',
'Dogs': 'Dogs=10',
'Cats': 'Cats=40',
'Bats': 'Bats=Null',
'Fishs': 'Fishs=24',
'Birds': 'Birds=4'}]
так что я могу сравнить его с этим другим списком:
{'Tigers': '19',
'Dogs': '10',
'Cats': '40',
'Bats': '10',
'Fishs': '234',
'Birds': '3'}
Her эс код я пытался использовать Симметричную разделить список:
animals = []
for d in setData:
animals.append({k: v.split('=')[1] for k, v in d.items()})
Это, однако, не разделит список, так как мои ключи в словарях в этом формате, а не Dogs=4
Dogs = 4
. Мне нужно разбить этот список, даже если они находятся в этом формате.
На совершенно другой стороне примечание, когда эта часть кода исправлена, мне нужно выяснить, как сравнивать данные этих ключей друг с другом.
, например: Допустим, у меня есть Dogs="23"
и сравниваемый список Dogs="50"
Согласно моему коду, это должно быть неправильным, но из-за кавычек («23») он говорит, что это, это не сравнить значение внутри. Это код, я должен сравнить:
correct_parameters = dict(re.match(r'(\w*)="?(\d*)"?', s).group(1, 2) for s in dataDefault[1:])
print correct_parameters
count = 0
while (count < (len(setNames))):
for number, item in enumerate(animals, 1):
print setNames[count]
count = count + 1
for param, correct in correct_parameters.items():
if item[param] == correct:
print('{} = {} which is correct'.format(param, correct))
Однако сейчас я просто пытаюсь исправить список раздвоение вопрос я имею.
BTW множественное число от 'Fish' является' 'Fish' не Fishs' – muddyfish
Почему вы пытаетесь получить его в форме' [ {'Tigers': 'Tigers = 11', ... 'а не более полезный вид' [{'Tigers': 11, 'или даже' [{'Tigers': '11', '? – or1426
@ or1426 это то, что делает код. Посмотрите на 'animals = []' – JeanP