Вам не нужна секунда для l oop, один из способов увидеть понимание словаря заключается в следующем:
items = {}
for f in fields:
for [fk, fv] in _kv_seperator.split(f):
items[fk] = fv
print(items)
Когда вы пишете:
for [fk, fv] in _kv_seperator.split(f)
Вы скажите Python, что вы ожидаете итерацию, состоящую из 2-х кортежей, но на самом деле
_kv_seperator.split(f)
возвращает только один кортеж, отсюда ошибка:
ValueError: too many values to unpack (expected 2)
Вы можете сделать вместо этого:
import re
fields = ["format = gatheringnutsinmay", "device = TESTX"]
_kv_seperator = re.compile(r"\s*=\s*")
items = {fk: fv for fk, fv in map(_kv_seperator.split, fields)}
print(items)
Или просто:
items = dict(map(_kv_seperator.split, fields))
print(items)
Или, если хотите, вы можете сделать:
items = {fk: fv for fk, fv in (_kv_seperator.split(f) for f in fields)}