【31天蓝桥杯冲刺!】蓝桥杯相关的 Python 知识点总结(1)输入输出数据的相关操作

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
img

正文

<class ‘list’>
[‘apple’, ‘banana’, ‘pen’]

进程已结束,退出代码 0


#### 3.1 如何访问列表


* 通过下标访问
* 下标只能为 [-n, -1] , 分为 [0, n - 1](顺数第几个), 和 [-n, -1] 倒数第几个
* p.s : 列表中的每一个元素都可以重新赋值,可以正常参与运算



a = [‘apple’, ‘banana’, ‘pen’]
print(a[0])
print(a[1])
print(a[-1])


输出:



apple
banana
pen
进程已结束,退出代码 0


#### 3.2 如何给列表添加元素


##### 1、在末尾添加单个元素(重要):


**a.append(x)** 为列表a末尾添加x元素



a = [‘apple’, ‘banana’, ‘pen’]
a.append(‘Hello’)
print("a = ",a)


输出:



a = [‘apple’, ‘banana’, ‘pen’, ‘Hello’]
进程已结束,退出代码 0


##### 2、在末尾添加多个元素:


**a.extend(x)** : 列表a末尾添加x,x为可迭代对象,包括列表、元组、字符串等,**不能是单个数字**



a = [‘apple’, ‘banana’, ‘pen’]
a.extend([1,2,3,‘a’])
print("a = ",a)


输出:



a = [‘apple’, ‘banana’, ‘pen’, 1, 2, 3, ‘a’]

进程已结束,退出代码 0


##### 3、在中间插入元素:


**a.insert(idx, x)** : 列表a在下标 idx 位置插入元素x,原来下标大于等于 idx 的元素往右移动一个位置。



a = [‘apple’, ‘banana’, ‘pen’]
a.insert(0, ‘0’)
a.insert(2, “2”)
print("a = ",a)


输出:



a = [‘0’, ‘apple’, ‘2’, ‘banana’, ‘pen’]
进程已结束,退出代码 0


##### 4、删除元素:


* 利用 del 删除列表中的元素: **del a[idx]** : 删除列表a中下标为 idx 的元素
* 利用 pop 删除列表中的元素:(1)**a.pop(idx)** :删除列表a下标为idx的元素 (2) **a.pop()** 删除列表a中的最后一个元素
* 区别: del 删除没有返回值, pop 删除返回的是删除的那个元素



利用del删除元素

a = [‘apple’, ‘banana’, ‘pen’]
del a[0]
print("a = ",a)

利用pop删除元素

a = [‘apple’, ‘banana’, ‘pen’]
del_a = a.pop(1)
print("a = ",a)
print(“删除的元素为:”, del_a)

pop 不加参数,默认删除末尾元素

a = [‘apple’, ‘banana’, ‘pen’]
del_a = a.pop()
print("a = ",a)
print(“删除的元素为:”, del_a)


输出:



a = [‘banana’, ‘pen’]
a = [‘apple’, ‘pen’]
删除的元素为: banana
a = [‘apple’, ‘banana’]
删除的元素为: pen

进程已结束,退出代码 0


##### 5、查找元素


* **a.count(x)**: 计算 x 在 a 中出现的次数,如果未出现则为0,否则为出现次数
* **a.index(x, start, stop)**: 计算元素 x 在列表下标 [start, stop) 中第一次出现的位置;(1)要保证 x 必须在区间 [start, stop) 中存在,否则报错;(2)start, end 不赋值,默认为在整个列表中查找;(3)只赋值 start , stop 默认为列表长度



a = [‘apple’, ‘banana’, ‘cat’, ‘pen’, ‘cat’]
print(a.count(‘apple’))

在整个列表中查找第一个 ‘cat’

print(a.index(‘cat’))

从下标3开始查找第一个 ‘cat’

print(a.index(‘cat’, 3))


输出:



1
2
4

进程已结束,退出代码 0


##### 6、翻转列表


* **a.reverse()** : 列表 a 进行翻转 , 调用两次变回原列表



a = [1, 2, 3, 4, 5]
a.reverse()
print('a = ', a)
a.reverse()
print('a = ', a)


输出:



a = [5, 4, 3, 2, 1]
a = [1, 2, 3, 4, 5]
进程已结束,退出代码 0


##### 7、求出列表长度


* **len(a)**:求出列表a的长度



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

输出a的长度

print(len(a))


输出:



5

进程已结束,退出代码 0


#### 3.3 遍历整个列表


* 利用for循环遍历列表



a = [‘apple’, ‘pen’, ‘hello’]
for i in a:
print(i)


输出:



apple
pen
hello
进程已结束,退出代码 0


* 利用for循环遍历列表,同时获取下标
* 相关函数: **enumerate(a, start = 0)** : 将列表a每个元素和对应的下标组合为一个带索引的序列,下标默认从0开始,遍历的时候同步遍历下标和值



a = [‘apple’, ‘pen’, ‘hello’]
for idx, i in enumerate(a):
print(idx, i)



0 apple
1 pen
2 hello
进程已结束,退出代码 0


#### 3.4 列表操作符


* ‘**+**’ : 连接两个列表
* ‘**a\*x**’ : a 是list, x 是int, 构成一个新列表,其内容为a复制x次



a = [0, 1, 2, 3, 4, 5]
print("a = ", a)
b = [‘a’, ‘b’, ‘c’]
print("b = ", b)
print(a + b)
print(a * 3)


输出:



a = [0, 1, 2, 3, 4, 5]
b = [‘a’, ‘b’, ‘c’]
[0, 1, 2, 3, 4, 5, ‘a’, ‘b’, ‘c’]
[0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5]
进程已结束,退出代码 0


#### 3.5 内置函数(常用的)


* sum(a):求和
* max(a):求列表a中的最大值
* min(a):求列表a中的最小值



a = [0, 1, 2, 3, 4, 5]
print("max = ", max(a))
print("min = ", min(a))
print("sum = ", sum(a))


输出:



max = 5
min = 0
sum = 15
进程已结束,退出代码 0


#### 3.6 列表解析式(重点操作)


* 列表解析式: [expression **for** member **in** iterable]
* 对于可迭代对象 iterable 的 每个元素 member, 都执行 expression 表达式构成的新的列表
* 下面代码对 列表 [0,1,2] 中的每个对象都执行了 x 二次方的运算,构成了一个新的列表



a = [x**2 for x in range(3)]
print(a)


输出:



[0, 1, 4]
进程已结束,退出代码 0


p.s: range()函数的细节会放在for循环部分进行说明


* 列表解析式:可以基于已有的列表筛选并生成相关的新的列表
* [expression **for** member **in** iterable if conditional ]
* 对于可迭代对象 iterable 的每个元素 member ,如果满足条件 conditional 才执行 expression 构成新的列表
* 下面代码表示 对于列表[0,1,2,3,4,5,6,7,8,9,10],需要满足x为偶数,才能加入新列表,新列表元素为x的平方



a = [x**2 for x in range(11) if x % 2 == 0]
print(a)


输出:



[0, 4, 16, 36, 64, 100]
进程已结束,退出代码 0


#### 3.7 列表切片



a = [1,‘apple’,‘banana’, 2, 3, 4, 5]

切片[2:4], 步长为1

b = a[2:4]
print(b)

切片[0,n], 步长为2

c = a[::2]
print©

前3个元素

d = a[:3]
print(d)

后3个元素

e = a[-3:]
print(e)


输出:



[‘banana’, 2]
[1, ‘banana’, 3, 5]
[1, ‘apple’, ‘banana’]
[3, 4, 5]
进程已结束,退出代码 0


#### 3.8 复制列表


* 先明确一个概念,列表的赋值不等同于复制,列表的赋值只是引用,相当于两个变量名代表同一个列表



a = [1,‘apple’,‘banana’, 2, 3, 4, 5]
b = a
b[0] = “hello”
print("b = ", b)
print("a = ", a)


输出:



b = [‘hello’, ‘apple’, ‘banana’, 2, 3, 4, 5]
a = [‘hello’, ‘apple’, ‘banana’, 2, 3, 4, 5]
进程已结束,退出代码 0


* 正确的复制方法:
* (1)利用切片: **b = a[:]**
* (2)利用 copy函数: **b = a.copy()**



a = [1,‘apple’,‘banana’, 2, 3, 4, 5]
b = a.copy()
c = a[:]
print("a = ", a)
print("b = ", b)
print("c = ", c)


输出:



a = [1, ‘apple’, ‘banana’, 2, 3, 4, 5]
b = [1, ‘apple’, ‘banana’, 2, 3, 4, 5]
c = [1, ‘apple’, ‘banana’, 2, 3, 4, 5]
进程已结束,退出代码 0


### 4.字典的相关操作


#### 4.1 创建字典


* python 中用 **{ }** 表示字典,可以使用 { } 创建一个字典
* 字典中的 key 和 value 之间用冒号 : 分隔,元素之间用 逗号, 分隔
* 字典的 key 只能为数字、字符串、元组,大多数情况使用字符串作为key
* value的类型没有限制



创建了一个空字典

a = {}
print("type(a) = ", type(a))
print("a = ", a)

创建字典

a = {‘a’:123, ‘b’:456, 0:789}
print("type(a) = ", type(a))
print("a = ", a)


输出:



type(a) = <class ‘dict’>
a = {}
type(a) = <class ‘dict’>
a = {‘a’: 123, ‘b’: 456, 0: 789}

进程已结束,退出代码 0


* 使用 **dict** 创建字典
* 此时 key 只能是字符串



创建了一个空字典

a = dict()
print("type(a) = ", type(a))
print("a = ", a)

创建字典

a = dict(a=123, b=456, c=789)
print("type(a) = ", type(a))
print("a = ", a)


输出:



type(a) = <class ‘dict’>
a = {}
type(a) = <class ‘dict’>
a = {‘a’: 123, ‘b’: 456, ‘c’: 789}
进程已结束,退出代码 0


* 也可以传入一个列表或者元组,每个元素也是一个包含两个元素的列表或者元组
* 则此时可以按照第一个元素作为 **key**,第二个元素作为 **value**



传入列表

a = dict([[‘a’,123],[‘b’,456],[‘c’,789]])
print("type(a) = ", type(a))
print("a = ", a)

传入元组

a = dict([(‘a’,123), (‘b’,456), (‘c’,789)])
print("type(a) = ", type(a))
print("a = ", a)


输出:



type(a) = <class ‘dict’>
a = {‘a’: 123, ‘b’: 456, ‘c’: 789}
type(a) = <class ‘dict’>
a = {‘a’: 123, ‘b’: 456, ‘c’: 789}
进程已结束,退出代码 0


* **zip()函数**:把多个序列相同下标的元素组装成**元组**,结果是一个可迭代对象
* 结果可以转换成list,但是首次转换后迭代器就为空



keys = [‘a’, ‘b’, ‘c’]
value = [123, 456, 789]
zipped = zip(keys, value)
print(zipped)
print(list(zipped))

首次转换后迭代器为空

print(list(zipped))


输出:



<zip object at 0x0000014E3F16C0C0>
[(‘a’, 123), (‘b’, 456), (‘c’, 789)]
[]

进程已结束,退出代码 0


* \*\*具体应用:\*\*假设有一个 key 列表和 value 列表,可以利用 \*\*list(zip(key,value))\*\*将二者组装好,作为 dict 的初始化



keys = [‘a’, ‘b’, ‘c’]
value = [123, 456, 789]
a = dict(list(zip(keys, value)))
print("a = ", a)


输出:



a = {‘a’: 123, ‘b’: 456, ‘c’: 789}
进程已结束,退出代码 0


* 先前所有的创建字典的策略,都要满足:
* 1.Key不能重复、Value无限制
* 2.Key必须是字符串、数字、元组不可变的类型


#### 4.2 访问字典


* python的字典通过 key 来访问 value,把 key 看作下标即可
* a[x]: a 为 dict、x 为 a 中的一个 key,必须存在否则会报错



keys = [‘a’, ‘b’, ‘c’]
value = [123, 456, 789]
a = dict(list(zip(keys, value)))
print("a = ", a)

print(a[‘a’], a[‘b’])

若是不存在则会报错

print(a[‘d’])


输出:



Traceback (most recent call last):
File “E:\Master\SKILL\python_ 蓝桥杯\test.py”, line 8, in
print(a[‘d’])
KeyError: ‘d’

a = {‘a’: 123, ‘b’: 456, ‘c’: 789}
123 456


* 如果并不知道 x 是否在字典的 key 中,需要查询字典中 x 对应的 value,可以使用 get 的方法
* a.get(x, value = None): a 表示字典, x 表示查询的 key, value 表示默认值
* 如果 x 在字典的 key 中,则上述的结果为 a[x], 如果不存在,上述的结果为 value



keys = [‘a’, ‘b’, ‘c’]
value = [123, 456, 789]
a = dict(list(zip(keys, value)))
print("a = ", a)

'a’是key,则输出a[‘a’]

print(a.get(‘a’,‘XXX’))

'd’不是key,则输出给定默认值XXX

print(a.get(‘d’,‘XXX’))

‘e’ 不是key,没有设定默认值,则此时为None

print(a.get(‘e’))


输出:



a = {‘a’: 123, ‘b’: 456, ‘c’: 789}
123
XXX
None
进程已结束,退出代码 0


* 字典通过直接利用 key 可以访问对应的 value ,类似添加元素、修改元素也是直接利用 key 和 value 就能进行添加或者更新



a = {}
print("a = ", a)

添加元素

a[‘分数’] = 80
print("a = ", a)

修改元素

a[‘分数’] = 85
print("a = ", a)


输出:



a = {}
a = {‘分数’: 80}
a = {‘分数’: 85}
进程已结束,退出代码 0


#### 4.3 添加、修改和删除元素


* 字典通过直接利用 key 可以访问对应的 value,类似的,添加元素、修改元素也是直接利用 key 和 value 就能进行添加或者更新
* 删除字典中的键值对,可以用python本身的删除语法 del
* 也可用 pop 删除



a = {}

添加元素

a[‘小蓝’] = 15
print("a = ", a)

添加元素

a[‘小红’] = 16
print("a = ", a)

修改元素

a[‘小蓝’] = 16
print("a = ", a)

删除元素

del a[‘小蓝’]
print("a = ", a)

pop

a.pop(‘小红’)
print("a = ", a)


输出:



a = {‘小蓝’: 15}
a = {‘小蓝’: 15, ‘小红’: 16}
a = {‘小蓝’: 16, ‘小红’: 16}
a = {‘小红’: 16}
a = {}
进程已结束,退出代码 0


#### 4.4 遍历字典


* 与 list 一样,直接利用 for 语句就可以遍历字典



x 是循环变量,a 是字典,此时遍历的是 a 的 key 列表

s = {‘a’:123, ‘b’:456, ‘c’:789}
for x in s:
print(x)

利用 a.keys(), a.values(), a.items, 可以分别循环遍历 key,value、二元组(key,value)

s = {‘a’:123, ‘b’:456, ‘c’:789}
for x in s.keys():
print(x)

for y in s.values():
print(y)

for x, y in s.items():
print(x, y)


输出:



a
b
c
a
b
c
123
456
789
a 123
b 456
c 789
进程已结束,退出代码 0


#### 4.4 判断是否存在元素


* 字典中可以使用 **in、 not in** 判断某元素是否在字典中
* **x in a、x in a.keys()**:判断 x 是否在 a 的 key 中
* **x in a.values(**): 判断 x 是否在 a 的 value中
* **(x, y) in a.items()**: 判断 x 是否在 a 的 key 中,并且对应的 value 为 y



s = {‘a’:123, ‘b’:456, ‘c’:789}
print(‘a’ in s)
print(‘d’ in s.keys())

print(123 in s.values())
print(135 in s.values())

print((‘a’, 123) in s.items())
print((‘b’, 123) in s.items())


输出:



True
False
True
False
True
False

进程已结束,退出代码 0


#### 4.4 合并两个字典


* 字典利用 update 方法可以将另一个字典的 key,value 更新到已有的字典中
* **a.update(b)**:把字典b中的每一个元素放入到a中更新
* 如果b中的key在a中没有,则直接在a中添加一组新的 key-value对
* 如果b中的key在a中有,则直接更新对应的value



s = {‘a’:123, ‘b’:456, ‘c’:789}
t = {‘a’:321, ‘d’:1000}
s.update(t)
print("s = ", s)
print("t = ", t)

最后

Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

👉Python所有方向的学习路线👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
给大家节省了很多时间。

👉Python全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉实战案例👈

学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。

因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。

👉大厂面试真题👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-FGBfsWH8-1713421383538)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值