当使用for循环遍历字符串时,将字符串转换为列表然后循环遍历会更好吗?我问的原因是因为字符串是不可变的,所以我不确定它是否在某种程度上变得无效?
所以
a = list("hello")
for i in a:
pass
优于
a = "hello"
for i in a:
pass
感谢您的帮助。
答案 0 :(得分:3)
如前所述,惯用的方法是简单地遍历字符串。实际上,声明
a = list("hello")
需要遍历字符串以创建列表。
也就是说,如果要遍历同一字符串(很多次),那么(在支付了转换为列表的费用之后)通过列表进行迭代的速度会更快
# string
$ python -m timeit -s "x='a'*10000" "for i in x: i"
10000 loops, best of 3: 137 usec per loop
# raw list
python -m timeit -s "x=list('a'*10000)" "for i in x: i"
10000 loops, best of 3: 113 usec per loop
答案 1 :(得分:2)
简单地遍历字符串而不将其转换为列表更习惯:
job_1, job_2, job_3, job_4