Python字符串拆分分隔符

时间:2014-07-06 07:18:58

标签: python

假设我有这个列表a = ["test", "news", "hello"],我需要复制列表中的每个值,并将其分隔为这样的分隔符。

a = [("test","test"),("news","news"),("hello","hello")]

我已经尝试了这一点并且只做到了这一点。

a = ["test", "news", "hello"]

b = [l + (''.join(l,)) for l in a]

print(b)

#['testtest', 'newsnews', 'hellohello']

2 个答案:

答案 0 :(得分:4)

你可以这样做:

a = ["test", "news", "hello"]

>>> print [(i,)*2 for i in a]   #thanks to @JonClements for the suggestion
[('test', 'test'), ('news', 'news'), ('hello', 'hello')]

答案 1 :(得分:2)

我认为最“pythonic”(和最短)的方式是每个人最喜欢的内置混乱,zip

a = ["test", "news", "hello"]
print zip(a,a) 
>>> [('test', 'test'), ('news', 'news'), ('hello', 'hello')]

并且,为了完整性,我将指出在python 3中,zip返回一个可迭代的。所以为了让它打印得很好,你需要对它进行分类:list(zip(a,a))。但是,如果您想要迭代它,使用数据做事情,那么您将希望保持可迭代。 (长列表可能节省大量内存)。