I have an array looks like:
['varyasyon__in=27', 'varyasyon__in=25', 'varyasyon__in=1']
and I want to split every value on = and join it to be a string like:
varyasyon__in=27,25,1
CodePudding user response:
a = ['varyasyon__in=27', 'varyasyon__in=25', 'varyasyon__in=1']
data = {}
for i in a:
key, val = i.split('=')
try:
data[key].append(val)
except KeyError:
data[key] = [val]
for i, j in data.items():
print(f"{i}={','.join(j)}")
varyasyon__in=27,25,1
CodePudding user response:
Can you try the following:
f"varyasyon__in={','.join([val.split('=')[1] for val in data])}"
Output:
varyasyon__in=27,25,1
CodePudding user response:
You can use split to split the items in lists and use a generator expression to join them:
out = lst[0] ',' ','.join(item.split('=')[1] for item in lst[1:])
Output:
'varyasyon__in=27,25,1'
CodePudding user response:
Сommon solution with dictionary:
lst = ['varyasyon__in=27', 'varyasyon__in=25', 'varyasyon__in=1']
d = {}
for i in lst:
d.setdefault(i.split('=')[0], set()).add(i.split('=')[1])
print(d)
Output:
{'varyasyon__in': {'27', '25', '1'}}
