2024-10-06 15:28:52 发布
网友
我有一个键值对字符串,不幸的是它们被同一个符号分隔开。有没有办法不使用lambda就把它“拆分”成一个元组列表?
以下是我所拥有的:
Moscow|city|London|city|Royston Vasey|vilage
我想要的:
[("Moscow","city"), ("London", "city")....]
这很简单真的。。。
首先,将'|'上的字符串拆分,然后将zip其他每个元素拆分在一起:
'|'
zip
data = s.split('|') print zip(data[::2],data[1::2])
在python3中,您需要:print(list(zip(data[::2],data[1::2]))
print(list(zip(data[::2],data[1::2]))
def group(lst, n): for i in range(0, len(lst), n): val = lst[i:i+n] if len(val) == n: yield tuple(val) a = 'Moscow|city|London|city|Royston Vasey|vilage' list(group(a.split('|'), 2))
输出是[('Moscow', 'city'), ('London', 'city'), ('Royston Vasey', 'vilage')]
[('Moscow', 'city'), ('London', 'city'), ('Royston Vasey', 'vilage')]
s = 'Moscow|city|London|city|Royston Vasey|vilage' it = iter(s.split('|')) print [(x,next(it)) for x in it]
这很简单真的。。。
首先,将
'|'
上的字符串拆分,然后将zip
其他每个元素拆分在一起:在python3中,您需要:
print(list(zip(data[::2],data[1::2]))
输出是
[('Moscow', 'city'), ('London', 'city'), ('Royston Vasey', 'vilage')]
相关问题 更多 >
编程相关推荐