自兴人工智能------------python入门基础(2)列表和元祖
一.通用序列操作:
列表中所有序列都可以进行特定的操作,包括索引(indexing).分片(slicing).序列相加(adding).乘法,成员资格,长度,最小值,最大值,下面会一一介绍这些操作法。
1.索引:序列是python中最基本的数据结构,序列中所有的序列都是有编号的,从0开始递推,可通过编号对序列的元素进行访问,并且支持正负索引。
>>>string=‘hello’ #自定义变量并赋值
>>>print string[] #根据编号取元素
>>>print string[-1]
最后输出是下标为0的元素'h'与‘o’
2.分片:索引对单个元素进行访问,使用分片可以对一定范围内的元素进行访问(包前不包尾),分片通过冒号相隔的两个索引实现。在交互模式输入:
>>>number=[,,,,,,,]
>>>nub=number[:] #索引为正数
>>>nub2=numbwe[-3:-] #索引为负数,小的索引放前面,从倒数开始取值
>>>nub3=number[:] #也可不输入索引,则取得整个数组
>>>nub4=number[0:7:2] #对于这种情况python为我们提供了另一个参数----步数,该参数是隐形设置的,也可理解默认步长为1
>>>print nub
[2,3]
>>>print nub2
[6,7]
>>>print nub3
[1,2,3,4,5,6,7,8]
>>>print nub4
[1,3,5,7]
3.序列相加:使用加好
>>>a=[,,]
>>>b=[,,]
>>>print a+b
[,,,,,]
>>>a='hello'
>>>b=' word'
>>>c='!'
'hello word!'
4.乘法:
>>>a=[]*
>>>print a
[,,,,]
>>>b='None'*
>>>print b
'NoneNoneNone'
5.成员资格:为检测一个值是否存在与序列中,用‘in’运算符,这种运算符称为布尔运算符,返回的真值叫布尔值。
>>>a='hello word'
>>>print 'l' in a
true
>>>b=['zhangsan','lisi','wangwu']
>>>print 'lisi' in b
true
>>>c=[,,,,]
print in c
false
6.长度,最大,最小值:
>>>a=[100,500,300,900,1]
>>>print len(a)
5
>>>print max(a)
900
>>>print min(b)
1
>>>print min(5,2,-7,-10)
-10
二.列表(方法)
1.append():在列表的末尾添加新元素
语法: list.append(obj)
2.count():计算某个元素在列表中出现的次数
语法: list.count(obj)
3.extend():用于在列表末尾追加另一个序列中的多个值(用新列表扩展原来的列表)。
语法: list.extend(seq) list代表列表,seq代表元素列表
4.index():用于找出某个值与列表第一个匹配的索引位置
语法: list.index(seq)
5.insert():用于将对象插入列表
语法: list.insertindex,obj) index代表对象obj需要插入的索引位置,obj代表插入列表中的对象
6.pop():用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
语法: list.pop(obj=list[-1])
7.remove():用于移除列表中的某一个值的第一个匹配值
语法: list.remove(obj)
8.reverse():用于反向列表中的元素
语法: list.reverse()
9.sort():用于对原文列表进行排序
语法: list.sort(funce) funce为可选参数
10.clear():用于清空列表。
语法: list.clear()
11.copy():用于复制列表,类似于a[:]
语法: list.copy()
12.高级排序:如果希望元素按特定方式排序(不是sort方法默认的按升序排列元素),就可以自定义比较方便
sort方法有两个可选参数,即key和reverse,要使用他们就要通过名字指定,我们称之为关键字参数。
>>>field=['study','python','is','happy']
>>>filed.sort(key=len) #按字符串由短到长排序
>>>filed
>>>filed.sort(key=len,reverse=true) #按字符串由长到短排序,传递两个参数
>>>filed
['python','study','happy','is']
['is','happy','study','python']
>>>num=[5,8,1,3,6]
>>>num.sort(reverse=True) #排序后逆序
>>>num
[8,6,5,3,1]
三.元组
python中的元组与列表相似,不同之处在于元组不能修改(前面多次提到的字符串也是不能被修改的)。创建元组的方法很简单:如果使用逗号分隔一些值就会自动创建元组,如:
>>>1,2,3
(1,2,3)
>>>'hello','word'
('hello','word')
还可创建空元组:
>>>()
()
>>>(1,2,3)
(1,2,3)
>>>(1,)
(1,)
1.tuple函数:tuple函数的功能和list函数基本一样,都是以一个序列作为参数,并把它转换成元组,如果参数是元组,参数就会被原样返回,如:
>>>tuple(['Hello',‘Word’])
('Hello',‘Word’)
>>>tuple('hello')
('h','e','l','l','o')
>>>tuple(('Hello',‘Word’))
('Hello',‘Word’)
2.元组的基本操作:
1)访问元组:可以使用下标索引访问元组中的值
2)修改元组:元组中的数不可以被修改,但可以对元组进行连接组合,使用‘+’进行连接
3)删除元组:元组中的数不予许被删除,但可以只用del语句删除整个元组
4)元组索引,截取:因为元组也是一个序列,所以可以访问元组中指定位置的元素也可以截取索引中的一段元素
3.元组内置函数:
1)len(tuple)用于计算元组个数
2)max(tuple)用于计算元组中的最大值
3)min(tuple)用于计算元组中的最小值
4)tuple(seq)用于将列表转换成元组
因为元组不可变所以代码更安全。如果可能,能使用元组代替列表就尽量使用元组。如:
>>>t=('a','b',['A','B'])
>>>t[2][0]='X'
>>>t[2][1]='Y'
>>>t
('a','b',['X','Y'])
此处使用了嵌套列表,一个列表包含另一个列表,也可以称为二维数组。
自兴人工智能------------python入门基础(2)列表和元祖的更多相关文章
- 自兴人工智能-------------Python入门基础(1)
Python 是一门简单易学且功能强大的编程语言. 它拥有高效的高级数据结构, 并且能够用简单而又高效的方式进行面向对象编程. Python 优雅的语法和动态 类型,再结合它的解释性,使其在大多数平台 ...
- 学习笔记(1):零基础掌握 Python 入门到实战-列表与元祖到底该用哪个?(二)...
立即学习:https://edu.csdn.net/course/play/26676/338778?utm_source=blogtoedu 列表不能通过增加索引增加元素 可以使用list中的app ...
- 干货!Python中字符串、列表、元祖、字典,集合之间的转换
一.字符串的转化 1.字符串转换成列表 字符串转换成list 的时候,str可以作为迭代对象,直接放入:也可以使用split对字符串进行切割.然后返回list s = '1a1b1c' print(l ...
- python学习-day12:列表、元祖、字典介绍和内置
list:列表 >>>----可以被修改.修改成元素,元素可以使单独的数字,也可以是:新的list. 通过:链表..每个元素存储的时候,同时会指向下一个元素. 二.list编辑修改方 ...
- Python入门基础学习(列表/元组/字典/集合)
Python基础学习笔记(二) 列表list---[ ](打了激素的数组,可以放入混合类型) list1 = [1,2,'请多指教',0.5] 公共的功能: len(list1) #/获取元素 lis ...
- python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习
列表,元组 #list l1 = [1, 2, 3, '高弟弟'] #定义一个列表 #增 l1.append("DSB") #最后增加"DSB"的元素 #删 l ...
- Python入门基础学习 三
Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...
- Python 入门基础6 --字符编码、文件操作1
今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...
- Python入门基础学习 二
Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...
随机推荐
- HTML表单属性集合
- Ajax 跨域,这应该是最全的解决方案了
https://segmentfault.com/a/1190000012469713 前言 从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了 ...
- 积分图实现均值滤波的CUDA代码
没想到我2010年买的笔记本显卡GT330M 竟然还能跑CUDA,果断小试了一把,环境为CUDA6.5+VS2012,写了一个积分图实现均值滤波.类似于OpenCV的blur()函数. 使用lena. ...
- CCF系列之门禁系统(201412-1)
试题编号:201412-1试题名称:门禁系统时间限制: 2.0s内存限制: 256.0MB 问题描述 涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况.每位读者有一个编号,每条记录用读者的 ...
- ASP.NET Core 一步步搭建个人网站(6)_单页模式和优化
前言 HI,有段时间没有更新了,主要因为第一年前事情比较多,有些事得忙着张罗下:第二呢,对个人网站进行了一次大范围的优化,主要是申请的云服务器资源有限,1m的网络带宽,带上图片展示的话,打开网站的平均 ...
- Spring-AOP标签scoped-proxy
<aop:scoped-proxy/>介绍: Spring的Bean是有scope属性的,表示bean的生存周期.scope的值有prototype.singleton.session.r ...
- Github终于连上了hexo
2018-01-2722:59:28 我的妈呀,看看这感人的网速,哎不想吐槽在中国连外网的速度 总结一下连接过程吧 漫漫长征路,难的要死. 一.github的注册和使用不再详述 二.Git Desk ...
- Java高级工程师——面试总结
面试技巧 1.背熟你的简历 原因:面试的第一个问题,一般都是让你简单介绍下你自己,或者介绍一下你最近的项目,而一个面试者,如果连自己的简历都无法熟知,对里面提到的项目.技术都无法描述清楚的话,我想没有 ...
- 转-python中的闭包
出处:http://www.cnblogs.com/ma6174/archive/2013/04/15/3022548.html 记录下 简单说,闭包就是根据不同的配置信息得到不同的结果 再来看看专业 ...
- 函数式编程--为什么会出现lambda表达式?
java一直处在发张和演化的过程中,其中有2个版本从根本上改变了代码的编写方式.第一个就是JDK5之后增加的泛型,还有一个就是现在介绍的函数式编程,lambda表达式. lambda表达式是java8 ...