一.通用序列操作:

列表中所有序列都可以进行特定的操作,包括索引(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)列表和元祖的更多相关文章

  1. 自兴人工智能-------------Python入门基础(1)

    Python 是一门简单易学且功能强大的编程语言. 它拥有高效的高级数据结构, 并且能够用简单而又高效的方式进行面向对象编程. Python 优雅的语法和动态 类型,再结合它的解释性,使其在大多数平台 ...

  2. 学习笔记(1):零基础掌握 Python 入门到实战-列表与元祖到底该用哪个?(二)...

    立即学习:https://edu.csdn.net/course/play/26676/338778?utm_source=blogtoedu 列表不能通过增加索引增加元素 可以使用list中的app ...

  3. 干货!Python中字符串、列表、元祖、字典,集合之间的转换

    一.字符串的转化 1.字符串转换成列表 字符串转换成list 的时候,str可以作为迭代对象,直接放入:也可以使用split对字符串进行切割.然后返回list s = '1a1b1c' print(l ...

  4. python学习-day12:列表、元祖、字典介绍和内置

    list:列表 >>>----可以被修改.修改成元素,元素可以使单独的数字,也可以是:新的list. 通过:链表..每个元素存储的时候,同时会指向下一个元素. 二.list编辑修改方 ...

  5. Python入门基础学习(列表/元组/字典/集合)

    Python基础学习笔记(二) 列表list---[ ](打了激素的数组,可以放入混合类型) list1 = [1,2,'请多指教',0.5] 公共的功能: len(list1) #/获取元素 lis ...

  6. python预课04 列表,元祖,统计值计算示例,py文件转为EXE文件,爬虫初步学习

    列表,元组 #list l1 = [1, 2, 3, '高弟弟'] #定义一个列表 #增 l1.append("DSB") #最后增加"DSB"的元素 #删 l ...

  7. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  8. Python 入门基础6 --字符编码、文件操作1

    今日内容: 1.字符编码 2.字符与字节 3.文件操作 一.字符编码 了解: cpu:将数据渲染给用户 内存:临时存放数据,断电消失 硬盘:永久存放数据,断电后不消失 1.1 什么是编码? 人类能够识 ...

  9. Python入门基础学习 二

    Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...

随机推荐

  1. PHP中的GetType和SetType

    大部分的可变函数都是用来测试一个函数的类型的.PHP中有两个最常见的函数,分别是gettype()和settype().这两个函数具有如下所示的函数原型,通过他们可以获得要传递的参数和返回的结果. s ...

  2. 紧急求助!配置SMTP插件出错,SMTP connect() failed

    http://bbs.csdn.net/topics/390848222 我来挖个坟.我知道问题所在了,只要你们本地或服务器上环境中只要确保开启了php_openssl 跟 php_socket等扩展 ...

  3. eclipse 按住ctrl 按钮没有反映

    以下是修改为XML Editior打开方法Window -> Preferences -> General -> Editors -> File Associations Fi ...

  4. 使用mui框架----移动端页面在所有屏幕下自适应

    写移动端怎么会不用到框架呢? 现在比较火的是mui.amaze UI 之类的,mui是现在最灵活轻便的一个框架,能够从pc到移动灵活的自适应, 只需要调用他定义的类名就能使用,非常方便,只是需要自己来 ...

  5. linkin大话设计模式--抽象工厂

    linkin大话设计模式--抽象工厂 在前面讲到的简单工厂里面虽然实现了我们那个类和其中的依赖的解耦,但是在产生我们需要的依赖的那个工厂里面还是和具体的产品类耦合了  现在要是还想彻底解耦的话怎么办呢 ...

  6. Redis清空数据

    进入redis目录下 redis-cli -h IP -p 端口 -a 密码 flushall

  7. MYSQL 5.7 修改密码、登录问题

    mysql5.7 关于密码问题 报错: ERROR 1862 (HY000): Your password has expired. To log in you must change it usin ...

  8. ORACLE数据库链接

    在ORACLE里面,远程数据访问,像查询.更新等可以通过Database Link来实现.数据库连接需要在建立Database Link的两台机子上都运行Oracle Net(以前叫SQL*NET 和 ...

  9. js中的监听事件总结

    javascript事件与功能说明大全:http://tools.jb51.net/table/javascript_event 1.滚动条监听事件 例1:监听滚动条距离页面顶端距离 <scri ...

  10. Redis Crackit漏洞防护

    Redis Crackit漏洞利用和防护 注意:本文只是阐述该漏洞的利用方式和如何预防.根据职业道德和<中华人民共和国计算机信息系统安全保护条例>,如果发现的别人的漏洞,千万不要轻易入侵, ...