Python 切片
本文发布于 1090 天前。

初学Python.
Python的切片可以看做是list的一个副本。
对副本的操作,理论上说并不会影响原list,例如:

test_list = ['apple', 'bannana', 'cherry']
copy_list = test_list[:] # 经典的复制list操作
copy_list[0] = 'orange' # 改变复制后表中的元素
print(test_list)
print(copy_list)

print(test_list[:][0]) # 切片的第0项是和原表第一项相同的
test_list[:][0] = 'melon' # 尝试修改切片的第0项
print(test_list)

>>>
['apple', 'bannana', 'cherry'] # 对copy_list的修改并没有影响原来的表
['orange', 'bannana', 'cherry']
apple
['apple', 'bannana', 'cherry'] # 原表并没有因为切片第0项被修改而变化

上段代码说明,切片出来的list是原list的一个副本。对切片的修改并不会被关联到原表。

然而如果原始的list是个嵌套表,list只表示元素和表的对应关系

list0 = ['01','02','03']
list1 = ['11','12','13']
test_list = [list0, list1]
copy_list = test_list[:]
copy_list[0][1] = '66'
print(f"Test_list = {test_list}")
print(f"Copy_list = {copy_list}")

>>>
Test_list = [['01', '66', '03'], ['11', '12', '13']]
Copy_list = [['01', '66', '03'], ['11', '12', '13']]

可以看到原表也发生了变化,究其根源,test_list[0]是对应list0这个表,而非list0的具体内容。那么修改copy_list[0]会直接修改list0的内容,而变化的list0导致了test_list[0]的改变。

标题:Python 切片
作者:IKK
除转载和特殊声明外,所有文章采用 CC BY-NC-SA 4.0协议
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇