马士兵python学习杨淑娟老师第五章

#列表的创建,用[]

lst=['hello','world',98]

print(lst)

print(lst[0],lst[-3])  #逆序从-1开始从右往左排序

#用内置函数list()

lst2=list(['hello','world',98])

print(lst2)

#获取列表中指定元素的索引

lst=['hello','world',98,'hello']

print(lst.index('hello')) #只返回相同元素的第一个索引

#print(lst.index('python')) #查找列表中不存在的元素会报错

#在指定的start与stop之间进行查找

#print(lst.index('hello',1,3)),在[1,3)之间找不到hello,所以报错

print(lst.index('hello',0,3))

#获取列表中的单个元素

#正向

lst=list(['hello','world',98,'python'])

print(lst[0])

print(lst[3])#从0到N-1

#逆向

print(lst[-1])

print(lst[-2])

print(lst[-4])#从-N到-1

#print(lsr[-5])#索引不存在报错

#切片的结果:原列表片段的拷贝;

# 获取列表中多个元素——切片操作,语法格式:列表名【start:stop:step】

lst3=[10,20,30,40,50,60,70,80]

#start=1,stop=6,step=1

print(lst3[1:6:1])  #[1,6)左闭右开的集合,即从第2个元素开始,到第6个元素结束,每次从下一个元素开始递增

print(lst3[1:6])  #默认间隔为1;

print(lst3[1:6:]) #默认间隔为1;

#start=1,stop=6,step=2

print(lst3[1:6:2])

#stop=6,step=2,start默认0

print(lst3[:6:2])

#start=1,step=2,stop采用默认为end

print(lst3[1::2])

#step为负数

print(lst3[::-1])

#start=7,stop省略,step=-1

print(lst3[7::-1])

#start=6,stop=0,step=-2

print(lst3[6:0:-2])#[6,0),不包括0

# 元素 in 列表名;元素 not in 列表名

lst4=[1,2,3,4,5]

print(5 in lst4)    #True   lst4.__contains__(5)

print(5 not in lst4)    #False  lst4.__contains__(5)

#列表元素的遍历

for item in lst4:

    print(item) #1 2 3 4 5

#列表元素的增加操作

#向列表的末尾增加一个元素append()

lst=[10,20,30]

lst.append(100)

print(lst,id(lst))

lst2=['hello','world']

'''

lst.append(lst2)

print(lst)

这里是将lst2作为一个元素添加到lst里面的,所以输出是lst2的内容带方括号

'''

#向列表的末尾一次添加多个元素extend()

lst.extend(lst2)

print(lst)

#在任意位置添加一个元素insert()

lst.insert(1,90)#在索引为1的位置上添加一个90

print(lst)

#在任意位置上添加多个元素

lst2=[True,False,'hello']

lst[1:]=lst2  #把切掉的部分用新列表替换

print(lst)

#列表元素的删除操作

#删除一个元素,remove()

lst=[10,20,30,40,50,60,30]

lst.remove(30) #重复元素只删除一个,元素不存在抛出valueERROR异常

print(lst)

#根据索引移除元素pop()

lst.pop(1) #指定索引不存在,将抛出异常

print(lst)

lst.pop()  #不指定索引,默认删除列表最后一个元素

print(lst)

#切片,至少删除一个元素,将产生一个新的元素列表

new_list=lst[1:3]

print('原列表',lst,id(lst))

print('新列表',new_list,id(new_list))

#不产生新的列表,而是删除列表中的内容

lst[1:3]=[]  #用空列表进行替代

print(lst,id(lst))

# 清除列表中的所有元素

lst=[10,20,30,40,50,60,30]

lst.clear()

print(lst)

# del语句将列表对象删除

lst=[10,20,30,40,50,60,30]

del lst

#print(lst) #由于上一个语句已经删除,所以此处会抛出异常

#列表元素的修改操作

#一次修改一个值

lst=[10,20,30,40]

lst[2]=100

print(lst)

#修改列表中的多个值

lst[1:3]=[300,400,500,600]

print(lst)

#列表元素的排序操作

lst2=[20,40,10,98,54]

print('原列表',lst2,id(lst2))

lst2.sort() #默认升序排序

print('新列表',lst2,id(lst2))  #id未发生改变

#通过指定关键字参数,将列表中的元素进行降序排序

lst2.sort(reverse=True)     #reverse=True降序排序

print(lst2)

lst2.sort(reverse=False)  #reverse=False升序排序

print(lst2)

#使用内置函数sorted()对列表进行排序,将产生一个新的列表

lst3=[10,67,29,11,19]

new_list=sorted(lst3) #sorted返回的是已排序的新列表,默认表示升序排序

print(lst3,id(lst3))

print(new_list,id(new_list))

#指定关键字参数,实现元素降序排序

desc_list=sorted(lst3,reverse=True)

print(desc_list)

# 列表生产式:简称“生成列表的公式”;

lst=[i for i in range(1,10)]

print(lst)

lst2=[i*i for i in range(1,10)]

print(lst2)

#列表中的元素值为2,4,6,8,10

lst3=[i*2 for i in range(1,6)]

print(lst3)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值