0
我根据一个键将数据行分组在一起,如果该组中的任何行在状态字段中具有“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"
然而,这似乎并没有更改数据什么。根据这个标准,是否有改变每个组的原始数据变量的pythonic方式,还是需要创建一个新列表并在迭代每个组之后将数据复制到该列表中?
''==不赋值运算符 – ElmoVanKielmo
感谢。修复它与编辑。代码仍然不会更改数据。 – CCKx