python列表

 (这是一个我在学习python的网课笔记整理学习笔记来源于总结图片哔哩哔哩的网课内容)

为什么需要列表

变量可以存储一个元素,而列表是一个“大容器”可以存储N多个元素,程序可以方便的对这些数据进行整体操作

列表相当于其他语言中的数组

a=10 #变量存储是一个对象的引用
lst=['hello', 'world', 98]
print(id(lst))
print(type(lst))
print(lst)

列表的创建

列表需要使用中括号[],元素之间使用英文的逗号进行分隔

 用两种方式创建列表

 列表的特点

 -------------------------------------------------------------------------------------------------------------------------------------

 列表的查询操作

 获取列表指定的元素

 

print('-------------------------获取列表中指定的元素-------------------------------')
lst=['hello', 'world', 98, 'hello', 'world', 234]
#获取索引为2的元素
print(lst[2])
#获取索引为-3的元素
print(lst[-3])

#获取索引为10的元素
#print(lst[10])#IndexError list index out of range(也就是超出范围会报错)


 ----------------------------------------------------------------------------------------------------------------------------

 1, 获取列表中的多个元素 切片操作

lst=[10, 20, 30, 40, 50, 60, 70, 80]
#start=1,stop=6,step1
print(lst[1:6:1])
print('原列表', id(lst))
lst2=lst[1:6:1]
print('切的片段:', id(lst2))
print(lst[1:6])#默认步长为1
print(lst[1:6:2])#stop=6,step=2,start=1
#stop=6,step=2,start采用默认
print(lst[:6:2])
#stop采用默认,step=2,start=1
print(lst[1::2])

print('-------------------------------step步长为负数的情况-----------------------------------')
print('源列表', lst)
print(lst[::-1])
#start=7, stop 省略 step=-1
print(lst[7::-1])
#start=6, stop=0 step=-2
print(lst[6::-2])

-----------------------------------------------------------------------------------------------------------------------------

列表元素的查询操作

print('p' in 'python')
print('e' not in 'python')

lst=[20, 19, 'zbb', 'study', 'python']
print(10 in lst)
print('zbb' in lst)
print(222 in lst)
print('studying' not in lst)

 用for in循环输出列表

 

lst=[20, 19, 'zbb', 'study', 'python']
print(10 in lst)
print('zbb' in lst)
print(222 in lst)
print('studying' not in lst)
print('------------------------------------------------------------------------')
for i in lst:
    print(i)


#用 for in 循环来输出列表


-----------------------------------------------------------------------------------------------------------------------------------

列表元素的增删改操作

 

1append()

 

 

#用 for in 循环来输出列表
#列表的末尾添加一个元素
lst=[10, 20, 30]
print('添加元素之前', lst, id(lst))
lst.append(100)
print('添加元素之后', lst, id(lst))
#从结果中我们可以看到id本质上没有发生变化在

使用extend()的进行添加

-我们会发现使用append去添加时是带有括号的是将一个整体录入了进去

而在使用extend()时是列表中的元素进入了进去并没有带入括号

(个人理解,如有不对,请指教)

 

#列表的末尾添加一个元素
lst=[10, 20, 30]
print('添加元素之前', lst, id(lst))
lst.append(100)
print('添加元素之后', lst, id(lst))
#从结果中我们可以看到id本质上没有发生变化在

lst2=['hello', 'world']
lst.append(lst2)#将lst2做为一个元素添加了进去
print(lst)
lst.extend(lst2)#向列表的末尾一次性添加多个元素
print(lst)

3insert()在任意位置上添加

(7,8)

7代表你要插入的位置

8代表你要插入的元素

切片默认没有在哪个地方切片,就会默认从规定切到最后然后将这个替换掉

lst=[10, 20, 30]
print('添加元素之前', lst, id(lst))
lst.append(100)
print('添加元素之后', lst, id(lst))
#从结果中我们可以看到id本质上没有发生变化在
lst2=['hello', 'world']
lst.append(lst2)#将lst2做为一个元素添加了进去
print(lst)
lst.extend(lst2)#向列表的末尾一次性添加多个元素
print(lst)
print('-------------------------使用insert在任意位置上添加------------------------')
lst.insert(2, 666)
print(lst)
print('---------------------------------切片---------------------------------------')
#在任意位置上添加多给元素 切片
lst3=['你会发现', '如果你没有', '规定切片的地方它会在', '开始切到你最后地方', '把切掉的部分用一个新的列表去替换就是这个']
lst[1:]=lst3
print(lst)

贵规定在哪个片段切片

 

#用 for in 循环来输出列表
#列表的末尾添加一个元素
lst=[10, 20, 30]
print('添加元素之前', lst, id(lst))
lst.append(100)
print('添加元素之后', lst, id(lst))
#从结果中我们可以看到id本质上没有发生变化在
lst2=['hello', 'world']
lst.append(lst2)#将lst2做为一个元素添加了进去
print(lst)
lst.extend(lst2)#向列表的末尾一次性添加多个元素
print(lst)
print('-------------------------使用insert在任意位置上添加------------------------')
lst.insert(2, 666)
print(lst)

#在任意位置上添加多给元素 切片
lst3=['你会发现', '如果你有', '规定切片的地方它会在', '开始切到你规定的地方', '把切掉的部分用一个新的列表去替换就是这个']
lst[1:3]=lst3
print(lst)

 

 



 

 1使用remove去

 

 使用pop

 若pop()里面没有索引时将删除最后一个

##列表的删除
b=[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
b.remove(2)#从列表中移除一个元素,如果有重复的元素只移第一个元素
print(b)
#b.remove(10)#ValueError: list.remove(x): x not in list

#根据索引去移除元素
b.pop(2)#是按照着 0,1,2 ,这样的来索引的
print(b)
#在输出没有这个列表里面的元素-时会出现这样的b.pop(10)#IndexError: pop index out of range
b.pop()
print(b)

 切片删除

 

 

print('-----------------切片操作至少删除一个元素,将产生一个新的列表----------------')
b=[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
new_b=b[1:3]
print('元列表', b)
print('切片之后的列表', new_b)

#不产生新列表对象,只是删除原列表之中的内容
b[1:3]=[]
print(b)

清楚列表的所有元素和删除

#清除列表所有的元素
b.clear()
print(b)
#del语句将列表对象删除
del b
print(b)#因为这时已经删除了再去输出的话就会报错


--------------------------------------------------------------------------------------------------------------------------------------

  列表元素的修改操作

1为指定索引的元素赋予一个新值

lst=[1, 2, 3, 4, 5, 6, 7]
#一次修改一个值
lst[2]=100#2时=是按照 0,1,2 这样来索引的所以在这2索引的值为3
print(lst)

 

 

2 为指定的切骗赋予一个新值

lst=[1, 2, 3, 4, 5, 6, 7]
#一次修改一个值
lst[2]=100#2时=是按照 0,1,2 这样来索引的所以在这2索引的值为3
print(lst)
#切片赋予新值
lst[3:6]=[200, 300, 400]
print(lst)

 -----------------------------------------------------------------------------------------------------------------------------

 列表的元素排序操作

常见有两种常见方式

1调用sort()方法,列有中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True,进行降序排序

b=[1, 4, 7, 6, 8, 3, 9, 10, 436, 45, 67, 78, 23, 12, 3456, 90]
print('排序前的列表', b, id(b))
#开始排序,调用列表对象的sort方法,升序排序
b.sort()
print('排序后的列表', b, id(b))
#通过指定的参数将,列表中的元素进行降序操作
b.sort(reverse=True)#升序 而b.sort(reverse=False) 当其等于False 就是降序
print(b)
b.sort(reverse=False)#降序
print(b)


 

2 调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变

 ------------------------------------------------------------------------------------------------------------------------------

列表生成式

 

lst=[i for i in range(1, 10)]
print(lst)
#列表输出的是前面的表达式
lst=[i*i for i in range(1, 10)]
print(lst)
print('-----------列表的元素值为,2,4, 6, 8, 10----------------')
lst2=[i*2 for i in range(1,6)]
print(lst2)

 总结

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值