列表
- 列表被称作为打了激素的数组,数组只能存储同种类型的数据,而列表像一个仓库,可存储不同类型的数据
- 列表为可变数据类型,可对其中的元素进行修改
列表的特性:
- 索引:
- 下标是从0开始计算,比如list[0]读取的是列表的第1个元素
- 切片:
- list[m:n:x] m代表从哪个索引开始切片;n代表切片到哪个位置,并且不包含第n个索引;x代表步长
- 重复:
- 如:列表a=[“test”,1],a*2 即可将列表重复2次,得到:[‘test’,1,’test’,1]
a=["test",1]
a*2
['test',1,'test',1]
- 如:列表a=[“test”,1],a*2 即可将列表重复2次,得到:[‘test’,1,’test’,1]
- 连接:
- 如:a = [“test”,1],b =[“westos”,2],a + b 即可将两个列表连接:得到[‘test’,1,’westos’,2]
a=["test",1]
b=["westos",2]
a+b
['test',1,'westos',2]
- 如:a = [“test”,1],b =[“westos”,2],a + b 即可将两个列表连接:得到[‘test’,1,’westos’,2]
列表的方法:
- 增加:
- l.append() //末尾追加单个元素
- l.extend() //末尾追加多个元素
- l.insert() //指定位置插入单个元素
- 删除:
- l.remove() //删除第一个遇到的元素值
- l.pop() //删除指定的索引所在的元素,默认删除最后一个
- 修改:直接根据索引进行修改
- //l[0]=”value” l[0][1]=”value”
- 查看列表信息:
- l.count() //查找某个元素出现的次数
- l.index() //查找某个元素最小的索引
- 排序:
- l.sort() //列表排序
- l.reverse() //列表逆转
- 内置方法:
- min() ,查看列表中字符数最少的元素
- man() 查看列表中字符数最多的元素
- len() 统计列表中的元素个数;len(a[0]):意为查看a列表中第1个元素的字符数
- reversed() : 如 a = [1,2,3] 那么:for i in reversed(a): >>> print i, 得到 3 2 1
- sorted() 将列表排序,并输出
- zip() :如果 a = [“test”,1] b =[“haha”,2] 那么 zip(a,b) 得到的结果为:[(‘test’,”haha”),(1,2)]
- sum() : sum(range(1,101)),可快速计算出1加到100的结果
元组
- 元组被称为带了紧箍咒的列表,元组是不可变数据类型
- 一个数据结构,通过逗号分割,用于传递给一个程序或者操作系统的一系列值的组合
- 定义空元组:tuple = ()
- 定义单个值的元组:tuple = (westos,)元组只有一个元素时,加”,”
- 一般的元组:tuple = (westos, 7, haha,[1,2])可以包含任何类型的数据结构
元组的特性:
- 不可以修改元素内容,t[0]=”westos”,直接报错
- 分别赋值,name,age = (“westos”,10)
- 索引
- 切片
- 重复
- 连接
元组的方法:
- t.count() //计算某个元素出现的次数
- t.index() //返回某个值的最小索引
学习框架(请点击下面“基本框架”打开链接查看):
相关脚本编写
1.通过列表实现堆栈的数据结构(后进先出):
脚本编写如下:
脚本执行效果:执行脚本后,按u入栈,输入元素hello
按v查看栈中的元素
按o出栈,出栈会默认删除栈中最后一个元素(在编写脚本时,栈中是没有元素的)
再按v查看
按o再出栈时候,显示如图(因为上一次出栈将唯一的入栈元素hello删除了):
按q退出
2.通过列表实现队列的数据结构(先进先出):
脚本编写如下:
脚本执行效果:执行脚本,按u进入队列,并加入元素ok:
按v查看队列元素信息:
按o退出队列,会将队列中第一个元素删除:
按v查看:
连续两次按o退出队列:
按v查看队列已经为空,再退出时提示“此队列为空”:
按q退出队列:
3.给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))
脚本编写如下:
脚本执行效果:
4.输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
输入描述:
每个测试输入包含2个字符串
输出描述:
输出删除后的字符串
示例:
输入
They are students.
aeiou
输出
Thy r stdnts.
脚本编写如下:
脚本执行效果:
5.18位身份证的编码规则是:
前1、2位数字表示:所在省(直辖市、自治区)的代码
第3、4位数字表示:所在地级市(自治州)的代码
第5、6位数字表示:所在区(县、自治县、县级市)的代码;
第7—14位数字表示:出生年、月、日;
第15、16位数字表示:所在地的派出所的代码;
第17位数字表示性别:奇数表示男性,偶数表示女性;
第18位数字是校检码,用来检验身份证的正确性。
用户在输入身份证的过程中经常会输入错误,为了方便用户正确输入需要在输入过程中对用户的输入按照 6+8+4 的格式进行分组,实现一个方法接收输入过程中的身份证号,返回分组后的字符
输入描述:
输入数据有多行,每一行是一个输入过程中的身份证号
输出描述:
分组后的字符串
示例:
输入:
5021
502104198803
5021041988033083
502104198803308324
输出:
5021
502104 198803
502104 19880330 83
502104 19880330 8324
脚本编写如下:
脚本执行效果: