Home > OS >  Python split array and check the 0 index if the same and join it
Python split array and check the 0 index if the same and join it

Time:01-26

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'}}
  •  Tags:  
  • Related