day 04 列表 元组 range
2018-10-23 03:07:16来源:博客园 阅读 ()
一、列表
以[ ]括起来,每个元素用","隔开,且可以存放各种数据类型。
列表相比于字符串,不仅可以存放不同的数据类型,而且可存放大量的数据。32位python可以存放:536870912个元素,64位可以存放:1152921504606846975个元素。
列表是在序的(按照保存的顺序),有索引,可以切片方便取值。
列表属于可变数据类型。
1.索引
lst = ["python", "java", "c", "c++", [11, 22,33]] print(lst[0]) # python print(lst[4][0]) # 11
2.切片
列表切片后得到还是列表
lst = [11, 22, 33, 44, 55, 66] print(lst[0:3]) # [11, 22, 33] print(lst[1::2]) # [22, 44, 66] print()lst[2::-1] # [33,22,11]
3.增删改查
1).增
- append
在列表末尾增加元素
lst = [11, 22, 33, 44]
lst.append(55) print(lst) # [11, 22, 33, 44, 55]
- insert
lst = [11, 22,33] lst.insert(1, 55) print(lst) # [11, 55, 22, 33]
- extend
迭代添加,增加的元素须为可迭代对象,且添加位置为末尾
lst = [11, 22, 33] lst.extend([55, 66]) # [11, 22, 33, 55, 66] lst.extend("python") # [11, 22, 33, 'p', 'y', 't', 'h', 'o', 'n'] lst.extend(44) # 报错
2).删除
- pop
默认删除列表末尾元素,也可删除指定位置元素,前提得提供索引。该删除有返回值,返回值为删除的元素
lst = [11, 22, 33, 44, 55] el = lst.pop() # 55 print(lst) # [11, 22, 33, 44] lst.pop(2) print(lst) # [11, 22, 44]
- remove
根据元素内容进行删除,若列表中有多个相同的元素,则执行remove操作删除的是第一个元素
lst = [11, 22, 33, 44] lst.remove(44) print(lst) # [11, 22, 33]
- del
切片删除
lst = [11, 22, 33, 44, 55, 66] del lst[0] print(lst) # [22, 33, 44, 55, 66] del[1:4:2] print(lst) # [22, 44, 66]
- clear
清空列表
lst = [11, 22, 33, 44, 55] lst.clear() print(lst) # []
3).修改
指定索引修改
lst = [11, 22, 33, 44] lst[2] = 55 print(lst) # [11, 22, 55, 44]
根据切片修改,如果步长不是1,则修改的元素的个数与提供的元素个数须匹配。如果切片没有步长或者步长是1,则不用关心个数
lst = [11, 22, 33, 44, 55] lst[1:4] = '编程' print(lst) # [11, "编", "程", 55]
lst = [11, 22, 33, 44, 55, 66]
lst[1:5:2] = "编程"
print(lst) # [11, "编", 33, "程", 55, 66]
4).查询
列表是一个可打迭代对象,所以可以进行for循环
for i in lst: print(i)
4.其他操作
- count
查询某元素出现的次数
lst = [11, 22, 11, 44, 55, 66] c = lst.count(11) print(c) # 2
- sort
默认按升序排列,若需降序排列,只需在括号内添加reverse=True
lst = [11, 44, 33, 22, 55] lst.sort() print(lst) # [11, 22, 33, 44, 55]
lst.sort(reverse=True) print(lst) # [55, 44, 33, 22, 11]
- reverse
翻转列表
lst = [11, 33, 22, 55, 44] lst.reverse() print(lst) # [44, 55, 22, 33, 11]
5.列表嵌套
采用降维操作
lst = [11, 22, [33, ["python", 55]], 66] print(lst[1]) # 22 print(lst[2][0]) # 33 print(lst[2][1][0]) # p lst[2][1][0] = lst[2][1][0].replace("p", "P") print(lst) # [11, 22, [33, ['Python', 55]], 66]
lst[2].append(77)
print(lst) # [11, 22, [33, ["Python", 55], 77], 66]
二、元组
俗称不可变的列表,又被称为只读列表
用小括号括起来,里面可放任何数据类型的数据
可查询,循环,切片(切片后得到的还是元组),但不可修改元素
元组中如果只有一个元素,须添加一个逗号,否则就不是元组
t = (11, 22, 33, 'python', 44, 55, 66) print(t[0]) # 11 print(t[1:3]) # (22, 33)
for i in t:
print(i) # 11 22 33 python 44 55 66
t = (1,)
print(type(t)) # <class 'tuple'>
t = (1)
print(type(t)) # <class 'int'>
修改
元组的不可变指的是元组内第一层元素的内存地址不可变
t = (11, 22, 33, [], 44) t[3] = [55,] # 报错 t[3].append(55) # (11, 22, 33, [55], 44)
元组也有count, index, len等方法
三、range
- range(start, end, 步长)
- 获取元素的索引和元素
lst = ["语文", "数学", "英语","高数","体育"] for i in range(len(lst)): print(i, lst[i])
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python day1-requests 2019-08-13
- python_0基础开始_day07 2019-08-13
- PythonDay08 2019-08-13
- python day2-爬虫实现github登录 2019-08-13
- python 之 前端开发(HTTP协议、head标签、img标签、a标签、 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