我希望能够将包含字母的字符串拆分为单独的字母。从我下面的代码;我希望变量f
包含['a','b']
,但事实并非如此。关于如何解决这个问题的任何想法?
a = "bc"
f = a.split()
print(f)
输出:
['bc']
答案 0 :(得分:5)
在这种情况下,您不必拆分:字符串可以通过字符进行迭代,因此您只需使用:
f = list(a)
这将构造一个列表,使得字符串中的每个字符都是结果列表中的元素:
>>> a="foobar"
>>> f=list(a)
>>> f
['f', 'o', 'o', 'b', 'a', 'r']
答案 1 :(得分:1)
如果你尝试方向迭代,那么:
echo $_POST['id'];
echo $_POST['code'];
现在分析其与x=[i for i in a]
;
list(a)
因此,与第一种方法相比,使用tarptaeya@TARPTAEYA:~$ python -m timeit "a='foobar';x=[i for i in a]"
1000000 loops, best of 3: 0.443 usec per loop
tarptaeya@TARPTAEYA:~$ python -m timeit "a='foobar';list(a)"
1000000 loops, best of 3: 0.385 usec per loop
方法进行拆分是更有效的方法。
答案 2 :(得分:0)
如果你只想收到信件。
>>> val = 'abcdefg 12'
>>> [item for item in list(val) if item.isalpha()]
['a', 'b', 'c', 'd', 'e', 'f', 'g']
另一种解决方案:
>>> filter(lambda x: x.isalpha(), list(val))
['a', 'b', 'c', 'd', 'e', 'f', 'g']