本文涉及的python基础语法为:列表及其方法
咱们发现了一段存在[]
中的谍报密码,为了破解他,咱们必须先来学习一下,这个存放着谍报密码的[]
python
列表是python内置的一种序列,其余的序列咱们后面会一一介绍
序列中的每一个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推
建立一个列表,只要把逗号分隔的不一样的数据项使用方括号括起来便可。以下所示
list1 = ['西游记', '三国演义', '水浒传', '红楼梦'] #字符串格式必定要记得加上引号 list2 = [2, 4, 6, 8] #一段偶数序列
上面咱们讲到了列表的索引,咱们能够经过列表的索引来获取它的元素,示例以下:app
list1 = ['西游记', '三国演义', '水浒传', '红楼梦'] #字符串格式必定要记得加上引号 print(list1[0]) #list1[0]就是'西游记'的索引 #输出:西游记 print(list1[1]) #list1[1]就是'三国演义'的索引 #输出:三国演义 print(list1[2]) #list1[2]就是'水浒传'的索引 #输出:水浒传 print(list1[3]) #list1[3]就是 '红楼梦'的索引 #输出:红楼梦
列表的切片格式是list[start:end:step]
函数
start:起始索引,从0开始,-1表示结束
end:结束索引
step:步长,步长为正时,从左向右取值。步长为负时,反向取值
注意切片的结果不包含结束索引,即不包含最后的一位,一般咱们称为
左闭右开, -1表明列表的最后一个位置索引
学习
list1 = ['西游记', '三国演义', '水浒传', '红楼梦'] #从左至右,list1的元素用正向的索引来取值的方式: list1[0], list1[1], list1[2], list1[3] #从左至右,list1的元素用反向的索引来取值的方式: list1[-4], list1[-3], list1[-2], list1[-1]
若是我只想要list1的前三个元素,该怎么写呢?
code
list1 = ['西游记', '三国演义', '水浒传', '红楼梦'] print(list1[0 : 3]) #输出:['西游记', '三国演义', '水浒传'] 注意切片的左闭右开原则,不包含结束索引,即不包含最后的一位
假若有一组从0-10的列表,咱们只想要这个列表里面的全部偶数元素,那么该怎么取值呢?
对象
list2 = [0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10] print(list2[0 : 11 : 2]) #注意左闭右开,为了取得元素10,因此咱们的索引值要+1 #输出:[0, 2, 4, 6, 8, 10]
表达式 | 描述 | 结果 |
---|---|---|
len( [0 , 1 , 2 , 3 , 4 , 5 ]) | len()获取列表的长度 | 6 |
[1, 2, 3] + [4, 5, 6] | + 表示多个列表组合 | [1, 2, 3, 4, 5, 6] |
['逻辑课'] * 2 | * 表示重复列表 | ['逻辑课' , '逻辑课'] |
5 in [1, 2, 5] | in 表示元素是否存在于列表中 | True |
函数 | 描述 |
---|---|
cmp(list1, list2) | 比较两个列表的元素 |
len(list) | 列表元素个数 |
max(list) | 返回列表元素最大值 |
min(list) | 返回列表元素最小值 |
list(seq) | 将元组转换为列表(后面咱们会讲到元组) |
方法 | 描述 |
---|---|
list.append(obj) | 在列表末尾添加新的对象 |
list.count(obj) | 统计某个元素在列表中出现的次数 |
list.extend(seq) | 在列表末尾一次性追加另外一个序列中的多个值(用新列表扩展原来的列表) |
list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
list.insert(index, obj) | 将对象插入列表 |
list.pop([index=-1]) | 移除列表中的一个元素(默认最后一个元素),而且返回该元素的值 |
list.remove(obj) | 移除列表中某个值的第一个匹配项 |
list.reverse() | 反向列表中元素 |
list.sort(cmp=None, key=None, reverse=False) | 对原列表进行排序 |
如今个人手头有这样一份谍报密码,请你按照提示完成密码的破解,下面,让咱们来开始吧!排序
report = [ 'u', 'b', '1', 't', 's', '0', '3', '9', 'k', 'b', '4', 'n', ' ', '7', 'b', 'f', 'h', 'r', '3', '6', 's', 'v', 'f', ' ', '-', 'z', 'e', 'b', '8', '5', 'ə', 'j', 'u', '2', 'o', 'l', '8', 'b', 'i', 'q', 'b', '7', '9', 'b', 'm', 'i', 's', '3', 'i', '8', '$', 'u', '0', 't', '9', ';', 'q', 'w', ' ', '!', ] #取出列表 report 中第 12 到 13 个元素(包含 12 和 13),存放在到变量里,好比 secret 变量里; #列表 secret 尾部追加 report 列表中最中间的一个元素; #列表 secret 尾部追加 report 列表中元素'b'出现的次数 #列表 secret 尾部追加 report 列表中最后的两个元素; #将字符串'ʌo'插入到列表索引 secret[3]的位置 #使用print(''.join(secret))将列表 secret 转为字符串并打印到屏幕上。
如今请按照上面的提示来破解这封谍报,看看这位它写了什么信息。
索引
问题的中涉及的python列表方法都已经在上面的表格里面