V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
JQiue
V2EX  ›  问与答

为什么 myList[1:] = "world"和 myList[1:] = ["world"]的结果不一样?

  •  1
     
  •   JQiue · Oct 28, 2020 · 1740 views
    This topic created in 2011 days ago, the information mentioned may be changed or developed.

    假设有一个列表 myList = ['hello', 1, 2, 3, 4]

    如果 myList[1:] = "world"

    则得到['hello', 'w', 'o', 'r', 'l', 'd']

    如果 myList[1:] = ["world"]

    则会得到['hello', 'world']

    这是为什么呢?

    6 replies    2020-10-28 17:08:57 +08:00
    BigOldBrother
        1
    BigOldBrother  
       Oct 28, 2020
    “world”是一个由'w', 'o', 'r', 'l', 'd'组成的字符数组,["world"]是一个由“world”组成的普通数组?
    ly4572615
        2
    ly4572615  
       Oct 28, 2020
    新元素的类型不同
    Pichai
        3
    Pichai  
       Oct 28, 2020
    在 python 中,字符串也可以当作 list 来进行处理。python 对字符串没有分隔等操作,都是通过切片来处理的。
    所以 myList[1:] = "world"与 myList[1:] = ['w','o','r','l','d']是相同的。
    misaka19000
        4
    misaka19000  
       Oct 28, 2020
    反编译看汇编,至于为什么那就只能说「这门语言就是这样规定的」
    Muniesa
        5
    Muniesa  
       Oct 28, 2020
    我理解的,不一定对:myList[1:]是一个 list 类型,myList[1:] = "world" 会把实际上是 myList[1:] = list("world"),list("world")实际上就是['w', 'o', 'r', 'l', 'd'],["world"]因为本身就是 list 所以作为一个整体了。
    Muniesa
        6
    Muniesa  
       Oct 28, 2020
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2534 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 12:30 · PVG 20:30 · LAX 05:30 · JFK 08:30
    ♥ Do have faith in what you're doing.