Я группирую строки данных вместе на основе ключа, и если какая-либо из строк в этой группе имеет «R» в поле статуса, тогда все они должны изменить это поле на «R».
Вот код, который я пробовал:
from operator import itemgetter
from itertools import groupby
headers = data.pop(0)
Col = {headers[i].strip().upper():i for i in range(len(headers))}
data = sorted(data, key=itemgetter(Col["KEY_FIELD"]))
for key,group in groupby(data, lambda x: x[Col["KEY_FIELD"]]):
for item in group:
if any([item[Col["STATUS"]]=="R" for item in group]):
item[Col["STATUS"]] = "R"
Однако это, похоже, ничего не меняет в данных. Есть ли питонический способ изменить исходную переменную данных для каждой группы на основе этого критерия, или мне нужно создать новый список и скопировать в него данные после итерации по каждой группе?
==
не является оператором присваивания - person ElmoVanKielmo   schedule 08.07.2014