Python基础-04.序列-列表和元组
2018-07-25 13:12:32来源:博客园 阅读 ()
本文主要记录关于Python序列中列表和元组的定义特点和常用方法
1.序列(sequence)
1.1.序列的定义
序列是一组有顺序的元素的集合(其实是是对象的集合,后期会引入“对象”这个概念)
序列包含列表和元组
1.2.序列的特点
1)基本的数据类型,都可以作为序列的元素,各个元素由逗号分隔
2)可以由一种或多种元素构成,也可以没有任何元素,空列表,空元组
3)构成序列的元素可以是另一个序列
1.3.序列的分类(2种)
1)列表(list):使用中括号"[]"定义,列表中的的各个元素可以变更
2)元组(tuple):或者成为定值表,使用小括号"()"定义,元祖中的元素不可变更
2.列表(list)
2.1.列表的创建(2种方式)
names = ["aaa","bbb","ccc","ddd","eee"] 或者 names = list(["aaa","bbb","ccc","ddd","eee"]) print("打印列表:",names) print(name,type(name)) --->["aaa","bbb","ccc","ddd","eee"] <class 'list'>
实例1:一个序列作为另一个序列的元素
s1 = [1,[3,4,5]]
实例2:定义一个空序列
s2 = []
2.2.列表特点
2.3.列表的切片(列表中元素的引用)
列表中对象的索引:
1)切片时顾头不顾尾(以正数开头不计算最右边的)
2)左边从0开始越往右越大
3)右边从-1开始,越往左越小
实例演示:
names = ["aaa","bbb","ccc","ddd","eee"]
2.3.1.取单个元素
1) 打印第1个
print(names[0])
2) 打印最后1个,倒数第一个(从右往左数第1个)
print(names[-1])
3) 一次取出某几个,第1个和第3个
print(names[0],names[2]) print(names[0,2]) # 错误的写法
2.3.2.取多个元素: [开头:结尾:步长]
1) 范围引用
print(names[0:3]) # 打印从开始到第3个对象 print(names[:3]) # 打印从开始到第3个对象,开头的0可以省略 print(names[-2:]) # 最后2个,从右往左数2个,从倒数第2个到最后
# 从开始到倒数第3个,不计算-3位置的(从左往右数,不计算最后的)
print(names[0:-3]) print(names[:-3]) # 简写
# 打印从第2个到最后一个
print(names[1:]) # 包含最后一个,默认什么都不加表示到最后一个 print(names[1:4]) # 列表元素是有限的可以直接写下标 print(names[1:-1]) # 注意:-1不包含最后一个,只取到倒数第二个
# 倒数第3个到倒数第2个,是从左往右看
print(names[-3:-1]) print(names[-1:-3]) # 错误写法:从右往左第1个到第3个
2)间隔引用,步长,默认步长为1,步长是有方向的,从左向右
names = ["aaa","bbb","ccc","ddd","eee"] print(names[1::1]) # 第二个到最后一个连续取 print(names[1::2]) # 从左到右隔一个去取步长为2
3)反向引用:步长的负数表示反向取(从右向左取)
print(names[1::-1]) # 从右向左依次取,最后一个到第二个
# 从右向左隔一个去取
print(names[1::-2]) # 步长的负数表示反向取(从右向左取)
从上面可以看到,在范围引用的时候,如果写明上限(开头),那么这个上限本身不包括在内。
2.3.3.嵌套列表数据引用
思路:分隔取用
2.4.列表的常用方法
增删改查,排序
1)list.append() # 增加值
names.append("fff") # 把fff追加到最后 names.insert(1,"ggg") # 把ggg插入到第2个位置 names.insert(3,"hhh") # 把hhh插入到第4个位置
2)列表内容修改
names[2] = 'kkk' names['bbb'] = 'qqq' # 错误的写法 names[开始:结束] = [a,b,c]
3)list.remove() # 删除列表中指定的数据
remove是根据内容删除,删除后返回剩余的内容
names.remove("ggg") # 删除ggg,
4)list.pop() # 删除列表中指定的数据数据
pop是根据索引删除内容,默认删除最后一个,删除后返回的是被删除的内容
names.pop() # 默认删除最后一个 names.pop(1) # 删除1号位置的数据 del names[1] # 删除1号位置的数据,也就是ggg
5)list.clear() # 清空列表
names.clear() print(names)
6)list.extend() # 扩展列表
name2 = [1,2,3,4] names.extend(name2) print("extend扩展:",names)
7)list.count # 统计列表中某个对象出现的次数
names.append('ccc') print("count统计:",names.count('ccc'))
8)list.index() # 根据内容找位置
查询对象的索引(位置),查询并显示目标内容
print("index索引:",names.index('ggg')) print(names[names.index('ggg')])
9)list.reverse() # 反转
将已有对象列表反向输出
names.reverse() print("reverse反转:",names)
10) list.sort() # 排序
排序规则是按照ASCII码的顺序排列的
name3 = ["aaa","1bbb","!ccc","#ddd","eee","Cccc"] name3.sort() print("sort排序:",name3)
默认排序数字是从小到大,怎样按照从大到小排序呢?
实例如下:
x = [4, 6, 2, 1, 7, 9] x.sort() print(x) # 默认排序数字是从小到大
# 方法1:
x.reverse() # 正向排序然后取返 print(x)
# 方法2:
x.sort(reverse=True) # 直接修改取返参数 print(x)
11)list.copy() # 复制列表
name4 = names.copy() print("copy复制列表:",name4)
12)身份判断
type(name) is list --->True
# 拓展:判断某个元素在不在列表里的方法:
print("aaa" in names) # 判断对象是否在列表里 print(names.count("aaa")) # 判断对象出现的次数
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash