【问题标题】:How to convert a string to a list? [duplicate]如何将字符串转换为列表? [复制]
【发布时间】:2015-10-12 13:39:53
【问题描述】:

如果我有一个字符串:

a = 'hello'

如何将其转换为列表?

a = ['h', 'e', 'l', 'l', 'o']

【问题讨论】:

    标签: python string list


    【解决方案1】:

    字符串是可迭代的,而列表可以从可迭代构造。所以你只需要

    a = list(a)
    print(a)
    

    输出:

    ['h', 'e', 'l', 'l', 'o']

    【讨论】:

    • 哇,好用,谢谢!
    • 注意:列表理解 [c for c in a] 应该是 faster
    • @Pynchia 我听到了相反的声音。如果您有任何证据支持该主张,那将是很高兴看到它! (我在您发布的链接中找不到它。)
    • @juanchopanza 我刚刚计时了,这有点难以分辨。 python3 -mtimeit -s'l=list(range(1000000))'python3 -mtimeit -s'l=[el for el in range(1000000)]'。有时一个或另一个更快。我一定误解了几天前在这里进行的讨论here
    • @Pynchia 同样在这里,我从来没有发现两者之间的显着差异(在 python 2 中,没有尝试过 python 3。)
    【解决方案2】:

    尝试过不同的方式

    代码:

    map(None,"sart")#for python 2.x
    #list(map(None,"sart")) for python 3.x
    

    输出:

    ['s', 'a', 'r', 't']
    

    【讨论】:

    • dowvoter 至少可以这么说
    • 嗯,这有点意思。它是如何工作的?
    • @KevinGuan map 接受一个可迭代的和一个函数i.e)map(function,iterable),所有可迭代的元素都传递给函数,map 的输出是函数列表。检查这个out
    • 请注意,这只适用于 Python 2。在 Python 3 上,您还需要执行类似 list(map(None,"sart")) 的操作。
    • 嗯,现在更有趣了。也许我真的需要再次查看有关map() 的文档:)
    猜你喜欢
    • 2012-05-23
    • 2015-08-01
    • 2011-02-08
    • 2013-07-07
    • 2019-10-16
    • 2021-06-11
    • 2023-01-04
    相关资源
    最近更新 更多