切片取值

切片取值

alist=[1,2,3,4,5,6,7,8,9]
print(alist[::])    #打印全部
print(alist[:])    #打印全部
print(alist[3::2])   #起始位置为3,截至位置为默认列表长度,步长为2,
                            #打印出来我猜不错的话应该是取的奇数位置。
print(alist[1:4])  #取列表位置 1 到4 (记住列表位置是从0开始)
print(alist[::-1]) # 这个要注意了, 这个比较高级 是对列表进行反转,简单吧
print(alist[1:100])  # 如果 截至位置大于列表长度取列表的长度。
print(alist[100:])   # 如果 起始位置大于列表长度取值为空



注意以上的操作都是会新增一个列表不会修改列表

修改切片的列表

alist=[1,2,3,4,5,6,7,8,9]
print(len(alist))    
print(alist[0])
alist[len(alist):]=[10]   #在尾部增加列表
alist[:0]=[0]                 #在开始位置前增加列表
alist[2:2]=[100]           #在3位置插入列表     
---------------------------------------------------------------------------------------------------------------------------
(当我们打印 print[2:2] 一定为空 ,这个大部分人可能都不大清楚我来解释下  )
alist=[1,2,3,4,5,6,7,8,9]

print(alist[3:4])
#打印的结果为 [4]  
#解释下3 是指起始位置坐标为3由于坐标开始是0,所以应该取的是[4]
#4 的意思是指起始位置到截至的长度为4 ,他是从1开始的,所以取的也是[4]
#同理我们要打印 
print(alist[3,3])
#是找不到值的 
#解释下第一个3 是指起始位置坐标为3由于坐标开始是0,所以应该取的是[4]
#第二个3 的意思是指起始位置到截至的长度为4 ,他是从1开始的,所以取的也是[3], 当打印 alist[3,3]  起始和截至不匹配所以取不到值
#但是我们可以拿这个alist[3:3]进行赋值,意思就是在起始3位置插入列表 ,就像alist[:0] 在开始位置新增值一样。
--------------------------————————————————————————————————
alist[:8]=[12]                #初始位置到7 都变成【12】
print(alist)
alist[2:]=[13]        #从第三个位置到结尾 变成【13】
--------------------------------------------------------------------------------------------------------------------------
alist=[1,2,3,4,5,6,7,8,9]

alist[::2]=[0]*5   #隔一个进行修改,
print(alist)
[0, 2, 0, 4, 0, 6, 0, 8, 0]
注意要修改的数量要和右边的等号相等 如果不等就报错 
alist=[1,2,3,4,5,6,7,8,9]

alist[::2]=[0]*4
print(alist)
#ValueError: attempt to assign sequence of size 4 to extended slice of size 5
-------------------------------------------------------------------------------------------------------------------------------
alist=[1,2,3,4,5,6,7,8,9]


alist[:3]=[] #删除前三个元素
print(alist)
del alist[:3]   #用del 删除前三个
print(alist)
-------------------------------------------------------------------------------------------------------------------------------------------
alist=[1,2,3,4,5,6,7,8,9]
del alist[::2]
print(alist)    #奇数位置都要删除
[2, 4, 6, 8]
--------------------- 

原文地址:https://www.cnblogs.com/fengxuemuyangren/p/10895388.html