list定义
- 列表与字符串一样,属于
可迭代序列
,具有索引值,正序下标从0
开始,逆序下标则从-1
开始 - 能够进行
组合、索引、切片、加、乘、检查成员等操作
- 能够确定序列的长度(len)也能够确定max、min值
列表数据项不需要具有相同的类型
,字符串全都是字符类型。list = ['a',1,set('123)]
这样定义,使用中括号[]
,以及逗号,
间隔- list数据内部可重复出现
相同数据
- 输出顺序与
定义、获取
顺序一致 - 索引必须是
整形
或者是切片
不能字符串或者是复数哦,索引可正可负
与取值方向有关
,正值正向获取,负值逆向获取
,若获取数据索引不存在会list index out of range 报错
- 列表的截取格式
list [start:end]
,start、end均为索引,取值需要满足索引是整数或者切片
,详情前面有说,并且start < end
,否则不能取值。在边界值
采取左闭右开
原则,左边可取值,右边不能取值;start默认值为0
,end默认值为-1
,即list[:]
会输出所有数据,若end > len(list) 长度,会以len(list)的长度为准
,输出顺序以获取顺序输出,逆向获取也是按照获取顺序输出。
list = [1,2,3,4]
list1 = ['a','b','c','d']
list2 = [1,12.23,'23',1+2j,set('23d')]
list3 = [1,2,3,4,5,6,7,8,9,0,8,7,6,5,4]
print(list,list1,list2)
#[1, 2, 3, 4] ['a', 'b', 'c', 'd'] [1, 12.23, '23', (1+2j), {'d', '3', '2'}]
# s索引
print(list[0])
print(list) # [1,2,3,4] 直接输出
print(list[:]) #strat,end 默认头尾
print(list[1:2])#[2] start可取 end不可取
print(list[1:-1])#[2,3] -1为最后
print(list3) # 可以重复数据
print(list3[4:2]) #[] start < end 因为没有定制顺序
print(list3[2:4])#[3:4]
print(list3[-1:-4]) # [] 没有定制顺序 statr <end 才可以
print(list3[-4:-1])#[7,6,5] 输出顺序和获取顺序一致
#print(list3[1.2]) TypeError: list indices must be integers or slices, not float
#
#print(list1[5])list index out of range
print(list[:5])#[1,2,3,4]
list 切片
- list 切片,与字符串切片相同
list [start,end,step]
- 当
start<end
时候,step需要为正数,start>end
时候,step需要为负数。索引为正为负均相同。 - 先圈范围,仔截取。
list = [1,2,3,4]
list1 = ['a','b','c','d']
list2 = [1,12.23,'23',1+2j,set('23d')]
list3 = [1,2,3,4,5,6,7,8,9,0,8,7,6,5,4]
print(list[::1])#[1,2,3,4]
print(list3[::2]) # 12 34 56 78.. --- 1357..
print(list3[:3:2]) # 123 12 3 ---13
print(list3[::-1])# 逆序输出
print(list3[1:3:2])#[2]
print(list3[3:1:-1]) # 4,3
# start > end 的时候可以使用-1
print(list[-2:-4:-3])
print(list3)
list更新
- 列表 list 是
可变数据
,字符串是不可变数据
list [x] = xxx
就能够对索引为x的数据进行重新赋值,可变数据意味着,改变数据会影响数据本身
。但是数据本身ID值不会改变。
list4 = [1,'34','中国']
print(list4)
list4[0] = 'hahah'
print(list4)# ['hahah','34', '中国']
list删除
del list[x]
: 删除索引为x的数据,,也可以连续删除del list[x:y]
list操作符
+
:组合列表,列表进行相加,那么就可以是更新数据,更新在一个列表中*
:重复输出,重复输出在一个列表中in/not in
成员检测 (后补详细in /not in用法)len
输出长度max/min
获取最大值最小值,补内置函数中for
循环 因为是可迭代的
print([1,2,3]+[23])#[1,2,3,23]
print