Вы можете превратить его в диктовку, а затем обратно в список, используя str.split
. (Не требуется l oop, поскольку он делает это для вас эффективно). Используйте functools.partial
, чтобы применить разбиение к каждой строке вместо лямбды:
from functools import partial
list(dict(map(partial(str.split, sep=','), List)))
Это работает для любого ввода, но не более простой для списка кортежей:
>>> l = ['name1,vol', 'name1,price','name2, vol', 'name2,price'.... ]
>>> list(dict(map(partial(str.split, sep=','), List)))
['name1', 'name2']
>>> l = [('name1', 'vol'), ('name1', 'price'),('name2', 'vol'), ('name2', 'price').... ]
>>> list(dict(l))
['name1', 'name2']