小编Pen*_* Li的帖子

更新切片列表

我以为我理解Python切片操作,但当我尝试更新切片列表时,我感到困惑:

>>> foo = [1, 2, 3, 4]
>>> foo[:1] = ['one'] # OK, foo updated
>>> foo
['one', 2, 3, 4] 
>>> foo[:][1] = 'two' # why foo not updated?
>>> foo
['one', 2, 3, 4] 
>>> foo[:][2:] = ['three', 'four'] # Again, foo not updated
>>> foo
['one', 2, 3, 4] 
Run Code Online (Sandbox Code Playgroud)

为什么foo之后没有更新foo[:][1] = 'two'

更新:也许我没有清楚地解释我的问题.我知道切片时会创建一个新列表.我怀疑切片分配更新列表的原因(例如foo[:1] = ['one']),但如果有两个切片级别,则不会更新原始列表(例如foo[:][2:] = ['three', 'four']).

python list

15
推荐指数
3
解决办法
761
查看次数

标签 统计

list ×1

python ×1