Python:更好的方式来获取每个字母/数字/等.从一个字符串并将其转换为一个列表?

Rt *_*Rtt 4 python

我实际上知道如何使用loop,但代码看起来太丑了:-(.所以我想问一些更好的方法.

我有一个字符串:

a = "123 456 7sr"
Run Code Online (Sandbox Code Playgroud)

我想将每个数字/字母/空格/等转换为列表.期望的结果应该是:

["1", "2", "3", " ", "4", "5", "6", " ", "7", "s", "r"]
Run Code Online (Sandbox Code Playgroud)

还有其他一些方法吗?(请不要使用的方法for/while loop)

谢谢您的帮助!

Sha*_*ger 6

在任何地方都可以使用的直接方法是调用list构造函数,它将任何可迭代的(并且str是它们的字符的可迭代)转换为迭代list产生的值的一个:

list(a)
Run Code Online (Sandbox Code Playgroud)

在Python 3.5+以及其他解包方案概括中,您可以选择:

[*a]
Run Code Online (Sandbox Code Playgroud)

这相当于list(a),除了它不需要查找并list通过通用函数调用语义调用构造函数(使其稍微更快并使其免受偶然的行为变化,如果list名称阴影,例如因为某人做了一些可怕的事情list = [1,2,3]).

所有其他方法(例如,无操作列表推导)都是这两种方法的较慢,较为丑陋的版本.