python学习记录day-6-列表

目录

列表的创建

列表查询

正向索引和逆向索引

切片

判断元素在列表中是否存在

遍历列表

列表元素的添加

列表元素删除

列表元素修改

列表元素的排序操作

列表生成式

列表在计算机中的存储方式

 

列表的创建

# 列表 大容量 相当于书包放书 相当于其他语言中的数组,可以存储很多数据,很多种数据类型,批量操作
a=10
lst=['hello','world',98]
print(id(lst))
print(type(lst))
print(lst)
# 列表的创建-[]-list()-元素之间使用英文逗号隔开
# 方法一
lst=['hello','world',98]
# 方法二
lst2=list(['hello','world',98])
'''
列表按顺序不变
索引映射唯一一个数据
-7 -6 -5 -4 -3 -2 -1
0 1 2 3 4 5 6
列表可以存储重复数据
任意数据类型混存(包容性好)
根据需要动态分配和回收内存(不用担心不够用)
print(lst[0],lst[-3])'''

列表查询

lst=['hello','world',98,'world']
print(lst.index('world')) # 如果列表中有相同元素,只返回第一个元素的索引
# print(lst.index('python'))
print(lst.index('hello',1,3)) # 指定查找范围-start and stop
print(lst.index('hello',0,5))

正向索引和逆向索引

# 列表有正向索引和逆向索引
lst=['hello','world',98,'hello']
# 获取索引为2的元素
print(lst[3])
# 获取索引为-1的元素
print(lst[-1])
# 获取索引为10的元素
# print(lst[10])

切片

lst=[10,20,30,40,50,60,70,80] # start=0,stop=7,step=1
lst2=lst[1:6:1] # 切面,新的列表对象
print('原列表',id(lst))
print('切片列表',id(lst2)) # id不同,切片出来是一个新的对象
print(lst[1:6])
print(lst[1:6:])
print(lst[1:6:2])
# 省略start,默认从0开始
# 省略step,默认到尾
print('-----------------步长为负数的情况-------------------')
print(lst[::-1]) # [80, 70, 60, 50, 40, 30, 20, 10],相当于逆序输出
print('-----------------start=7,stop默认,步长为-1的情况-------------------')
print(lst[7::-1]) # [80, 70, 60, 50, 40, 30, 20, 10]
print('-----------------start=6,stop=0,步长为-2的情况-------------------')
print(lst[6:0:-2])
print(lst[6:0:2])

判断元素在列表中是否存在

print('p' in 'python')
print('p' not in 'python')
# 判断元素在列表中是否存在
lst=['hello','world',98]
print(10 in lst)
print(10 not in lst)
print('hello' not in lst)

遍历列表

# 遍历列表中的元素
lst=['hello','world',98]
for item in lst:
print(item)

列表元素的添加

# 列表元素的增加
# 向列表末尾增加一个元素append()
lst=[10,20,30]
print('添加元素之前',id(lst))
lst.append(100)
print('添加元素之后',id(lst)) # id没有发生变化,说明是在原来基础上加的,并没有额外形成新的列表
# 向列表末尾至少增加一个元素extend()
lst2=['hello','world']
# lst.extend(lst2) # 将lst2元素补到lst后面
lst.append(lst2)# 区别:将lst2中元素作为一个整体补到lst后面
print(lst)
# 向列表任意位置添加一个元素insert()
lst.insert(1,90)
print(lst)
# 切片 在列表任意位置添加任意个元素
lst3=['True','False','hello']
lst[1::]=lst3 # 把1后面的全都切掉了
print(lst)

列表元素删除

# remove(),一次删除一个,重复只删第一个
lst=[10,20,30,40,50,60,70,80,30]
lst.remove(30)
print(lst)
# lst.remove(100)
# pop(),删除指定索引的元素,没有给索引则删除列表中最后一个
lst.pop(1)
print(lst)
lst.pop()
print(lst) # 不写参数,默认pop最后一个
# 切片 一次至少删除一个元素
print('------------切片-----------')
lst2=lst[1:3]
print('原列表',lst,id(lst))
print('新列表',lst2,id(lst2))
# 不产生新的列表对象,而是删除原有列表中元素
lst[1:3]=[] # 用空元素替代切片元素
print(lst)
# clear()清除列表中所有元素
lst.clear()
print(lst)
# del语句,将列表对象删除,直接把户口都给注销了
del lst
print(lst)

列表元素修改

lst=[10,20,30,40,50]
# 一次修改一个值
lst[2]=100 # 把位置2上的元素换成100
print(lst)
# 切片 赋予新的值
lst[1:3]=[300,400,500]
print(lst)

列表元素的排序操作

# 列表元素的排序操作
lst=[10,30,20,90,40,50]
print('排序前的列表',lst,id(lst))
lst.sort() # 默认为升序
print('排序后的列表',lst,id(lst))
# 是否产生新的列表对象,没有,在原列表上排序
# 通过指定关键字参数,将列表中的元素进行降序排列
lst.sort(reverse=True) # 降序
print(lst)
lst.sort(reverse=False)
print(lst)

print('----------使用内置函数sorted()对列表进行排序,将产生新的列表对象')
# 内置函数可以直接拿来引用
lst=[10,29,13,45,63,24,56]
new_lst=sorted(lst)
print(lst)# 原列表没有发生任何变化
print(new_lst)
# 通过指定关键字参数,将列表中的元素进行降序排列
new_lst1=sorted(lst,reverse=True)
print(lst,id(lst))# 原列表没有发生任何变化
print(new_lst1,id(new_lst1))

列表生成式

# 列表生成式:生成列表的公式
lst=[i*i for i in range(1,10)] # i*i标识列表元素的表达式
print(lst)
lst1=[j for j in range(2,12,2)]
print(lst1)

学习链接:

【花了2万多买的Python教程全套,现在分享给大家,入门到精通(Python全栈开发教程)】 https://www.bilibili.com/video/BV1wD4y1o7AS/?p=57&share_source=copy_web&vd_source=5f93c948050b4284ccf31ae9244fad4c

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python中,异常处理是非常重要的一部分。当程序运行时如果出现错误,如果没有异常处理,程序就会崩溃。为了避免这种情况,Python提供了异常处理机制。 在Python中,异常处理语句使用 `try` 和 `except` 关键字来实现。`try` 语句块中包含可能会发生异常的代码,如果这段代码出现了异常,则会跳转到 `except` 语句块中执行异常处理代码。 下面是一个简单的例子: ```python try: num = int(input("请输入一个整数:")) print(10/num) except ZeroDivisionError: print("除数不能为0") except ValueError: print("输入的不是整数") ``` 在上面的代码中,我们尝试将用户输入的字符串转换为整数,并将其用作除数计算 10/num。如果用户输入的是 0,则会触发 ZeroDivisionError 异常。如果用户输入的不是整数,则会触发 ValueError 异常。如果发生异常,则会跳转到对应的 except 语句块中执行处理代码。 除了可以指定具体的异常类型,也可以使用 `except Exception` 来捕获所有异常。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) ``` 在上面的代码中,如果发生任何异常,都会跳转到 `except` 语句块中执行处理代码,并将异常信息打印出来。 除了 `try` 和 `except`,还有 `finally` 关键字,它指定的代码块无论是否发生异常都会执行。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) finally: print("程序执行完毕") ``` 在上面的代码中,无论是否发生异常,都会执行 `finally` 中的代码,即输出“程序执行完毕”。 总之,在Python中,异常处理是非常重要的一部分,它可以有效避免程序崩溃,提高程序的健壮性和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈哈哈哈去3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值