python学习——数据结构(列表、元组、集合、字典)

列表作为队列和栈:

栈:后进先出,可以用a.pop(空)来仿真

队列:先进先出,可以用a.pop(0)来仿真

 

没有列表推导式,用循环的方式建立列表:

>>> squares = []
>>> for x in range(10):
...     squares.append(x**2)
...
>>> squares
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

使用列表推导式:

1 squares = [x**2 for x in range(10)]

PS:这两种方法都会产生一个X=9

列表推导式也可以进行嵌套:

1 a = [1,2,3 ]
2 z = [x+1 for x in [x**2 for x in a]]
3 z
4 [2,5,10]

二、元组

元组由数个逗号分割的值组成

元组可以进行拆封操作

元组是不可变类型

复制代码
1 >>> a = 'Fedora', 'ShiYanLou', 'Kubuntu', 'Pardus'
2 >>> a
3 ('Fedora', 'ShiYanLou', 'Kubuntu', 'Pardus')
4 >>> a[1]
5 'ShiYanLou'
6 >>> for x in a:
7 ...     print(x, end=' ')
8 ...
9 Fedora ShiYanLou Kubuntu Pardus
复制代码

三、集合

集合是一个无序且不重复元素的集。

大括号{}或 set() 函数可以用来创建集合。注意:想要创建空集合,你必须使用 set() 而不是 {}。后者用于创建空字典。

四、字典

无序的键值对(key:value)

1.许多时候我们需要往字典中的元素添加数据,我们首先要判断这个元素是否存在,不存在则创建一个默认值。如果在循环里执行这个操作,每次迭代都需要判断一次,降低程序性能。这个时候使用dict.setdefault(key, default) :

复制代码
 1 >>> data = {}
 2 >>> data.setdefault('names', []).append('Ruby')
 3 >>> data
 4 {'names': ['Ruby']}
 5 >>> data.setdefault('names', []).append('Python')
 6 >>> data
 7 {'names': ['Ruby', 'Python']}
 8 >>> data.setdefault('names', []).append('C')
 9 >>> data
10 {'names': ['Ruby', 'Python', 'C']}
复制代码

2.试图索引一个不存在的键将会抛出一个 keyError 错误。我们可以使用 dict.get(key, default) 来索引键,如果键不存在,那么返回指定的 default 值:

1 >>> data['foo']
2 Traceback (most recent call last):
3 File "<stdin>", line 1, in <module>
4 KeyError: 'foo'
5 >>> data.get('foo', 0)
6 0

3.想要在遍历列表(或任何序列类型)的同时获得元素索引值,可以使用 enumerate()

1 >>> for i, j in enumerate(['a', 'b', 'c']):
2 ...     print(i, j)
3 ...
4 0 a
5 1 b
6 2 c

4.同时遍历两个序列类型,可以使用 zip() 函数。

1 >>> a = ['Pradeepto', 'Kushal']
2 >>> b = ['OpenSUSE', 'Fedora']
3 >>> for x, y in zip(a, b):
4 ...     print("{} uses {}".format(x, y))
5 ...
6 Pradeepto uses OpenSUSE
7 Kushal uses Fedora

任务1:

判断n名学生的成绩是否合格,总共三门课程,总分大于等于120合格。

posted @   一起开会  阅读(68)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示