Python:更有效的方法来分解字符串并将其附加到列表中

时间:2012-07-10 12:57:12

标签: python string list

我一直在使用这样的东西来取一个字符串并将其分解以添加到列表中

example_string = "Test"
example_list =[]
for x in example_string:
    example_list.append(x)

输出:

example_list = ['T','e','s','t']

有更直接的方法吗?

3 个答案:

答案 0 :(得分:4)

你的意思是:

example_string = "Test"
example_list = list(example_string)

输出:

example_list = ["T","e","s","t"]

在python字符串中可以像列表或元组一样进行迭代,您可以通过调用字符串上的tuple()list()轻松地将字符串转换为元组或列表。

答案 1 :(得分:2)

如果你想为每个列表项分组3个字母(根据你对@ Cedric的答案的评论),那么这是来自itertools documentationgrouper食谱:

def grouper(n, iterable, fillvalue=None):
    "Collect data into fixed-length chunks or blocks"
    # grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx
    args = [iter(iterable)] * n
    return izip_longest(fillvalue=fillvalue, *args)

(您需要从izip_longest导入itertools功能。)

答案 2 :(得分:0)

要分组为N组(无外部模块),您可以使用zip(*[iter(s)]*n) >>> list(zip(*[iter("longerstring")]*3)) [('l', 'o', 'n'), ('g', 'e', 'r'), ('s', 't', 'r'), ('i', 'n', 'g')] 中的配方

所以:

{{1}}