我一直在使用这样的东西来取一个字符串并将其分解以添加到列表中
example_string = "Test"
example_list =[]
for x in example_string:
example_list.append(x)
输出:
example_list = ['T','e','s','t']
有更直接的方法吗?
答案 0 :(得分:4)
你的意思是:
example_string = "Test"
example_list = list(example_string)
输出:
example_list = ["T","e","s","t"]
在python字符串中可以像列表或元组一样进行迭代,您可以通过调用字符串上的tuple()
或list()
轻松地将字符串转换为元组或列表。
答案 1 :(得分:2)
如果你想为每个列表项分组3个字母(根据你对@ Cedric的答案的评论),那么这是来自itertools
documentation的grouper
食谱:
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}}