列表
一个数据,存电脑上,如果重启还在,那么存储位置为硬盘。—持久化 重启后,如果没有了,那么存储位置为内存。 读写:内存比硬盘快,所以内存比硬盘贵。 列表:list,是一个对象
- 存储多个数据
- 存储多种数据
- 是一个可迭代对象
- 列表是一个可变类型的数据
可变:可以修改
创建列表
1. 直接创建 l = [元素1,元素2,元素3,…] 一般不要用list, 因为还有一个list方法
- 普通列表:[1,2,3]-整型列表,[‘a’,‘b’,‘c’]-字符串列表
- 混合列表:[1,2,3,‘a’,‘b’,‘c’,[1,2,3]]
- l = [] 空列表
2. 通过构造方法去创建列表对象
1. list()返回一个空列表
2. list(iterable)根据一个可迭代对象,生成一个新的列表
list(range(1,100))
print(list)
3.访问列表中的元素 访问:读取
- 通过索引来读取元素
索引不等于下标 python中索引的计数从0开始计数 访问形式: 变量[下标]—访问一个元素 - 读取所有元素:
遍历:将一个容器中的元素不重复,不遗漏的访问一遍。 通过for循环进行遍历 - 如果下标超出了范围,则报错:
列表的下标范围: 如果是空列表,所有索引都会报错 如果不是空列表: 0~(len(l)-1) 列表支持负数作为下标 负号:仅代表方向 负数下标的范围: -1~-len(l)
向列表中添加元素
1. append(obj): 向末尾添加一个数据 obj:可以传入任何数据 用于添加一个数据 2. extend(iterable) 通过一个可迭代对象,扩展原有的列表 iterable:可迭代对象 用于添加多个数据
l1 = list(range(1,11))
l2 = list(range(11,21))
print(l1)
l1.extend(l2)
print(l1)
print(l2)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
[11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
3. insert(index,object) 在index前插入object值
l1 = list(range(1,11))
l1.insert(3,'a')
print(l1)
[1, 2, 3, 'a', 4, 5, 6, 7, 8, 9, 10]
练习题
数组逆序重放
题目描述 将一个数组中的值按逆序重新存放。例如,原来的顺序为 8,6,5,4,1。要求改为 1,4,5,6,8。 输入格式 输入为两行:第一行数组中元素的个数 n,第二行是 n 个整数,每两个整数之间用空格分隔。 输出格式 输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。
DoinB
?十五个猴子围成一圈选大王,依次1-7 循环报数,报到7 的猴子被淘汰,直到最后一只猴子成为大王。问,哪只 猴子最后能成为大王
螺旋填数(二维列表)
读入两个整数m,n,输出一个m 行n 列的矩阵,这个矩阵是1~m * n,这些自然 数按照右、下、左、上螺旋填 入的结果。
八皇后(递归)
在8×8 的国际象棋盘上,放置八个皇后,使任何一个皇后都不能吃掉另一个。国际象棋规则中,皇后可以吃到任 何一个与他在同一行、同一列或者同一斜线上的敌方棋子,所以八皇后问题的所有解满足:8个皇后都不在同一 行、同一列,或者同一斜线上。 要求:输出所有的解。
|