如果我有一个字符串:
"user1:type1,user2:type2,user3:type3"
我希望将其转换为如此的元组列表:
[('user1','type1'),('user2','type2'),('user3','type3')]
我该怎么做呢?我对python很新,但在文档中找不到一个很好的例子来做这件事。
谢谢!
答案 0 :(得分:11)
>>> s = "user1:type1,user2:type2,user3:type3"
>>> [tuple(x.split(':')) for x in s.split(',')]
[('user1', 'type1'), ('user2', 'type2'), ('user3', 'type3')]
答案 1 :(得分:4)
最干净的方法是使用列表理解进行两次拆分:
str = "user1:type1,user2:type2,user3:type3"
res = [tuple(x.split(":")) for x in str.split(",")]
答案 2 :(得分:3)
>>> s = "user1:type1,user2:type2,user3:type3"
>>> l = [tuple(user.split(":")) for user in s.split(",")]
>>> l
[('user1', 'type1'), ('user2', 'type2'), ('user3', 'type3')]
>>>
:)
答案 3 :(得分:3)
如果你想在没有for循环的情况下这样做,你可以使用map和lambda:
map(lambda x: tuple(x.split(":")), yourString.split(","))
答案 4 :(得分:2)
使用split
功能两次。
试试这个例子:
s = "user1:type1,user2:type2,user3:type3"
print [i.split(':') for i in s.split(',')]