【PY从0到1】第三节 列表
# 3 列表 # 1> 下面这就是一个列表
aabbccdd = ['ee','ff','gg']
# 列表可以储存数据,包含其中元素可以有很多,是可修改、有次序的。
# 下面展示一下两套索引。
# 0 1 2
# aabbccdd = ['ee','ff','gg']
# -3 -2 -1
# 可以用两种方式抽取列表的元素,如下。
h = aabbccdd[0]
print(h)
i = aabbccdd[-2]
print(i)
# 对应的输出结果如下
# ee
# ff
# 强调一点,索引从0开始。 # 2> 修改、添加和删除列表中的元素 # 修改可以用下列语句,通俗的讲应该叫替换。
aabbccdd[0] = 'kk'
print(aabbccdd)
# 输出结果为:['kk', 'ff', 'gg'] # 添加元素可以使用下面的方法,默认添加到列表的最后一位。
aabbccdd.append('uu')
print(aabbccdd)
# 输出结果为:['kk', 'ff', 'gg', 'uu'] # 习惯上,会先创建一个空列表。然后再用append()添加元素。 # 也可以使用方法insert()将元素插入到指定位置,具体如下。
aabbccdd.insert(1,'pp')
print(aabbccdd)
# 输出结果为:['kk', 'pp', 'ff', 'gg', 'uu'] # 如果知道元素的索引,可以直接用del 删除对应元素
del aabbccdd[0]
print(aabbccdd)
# 输出结果为:['pp', 'ff', 'gg', 'uu'] # 使用pop()删除元素,通俗讲是叫提取。默认提取最后一个元素。
popped_aabbccdd = aabbccdd.pop(1)
print(aabbccdd)
print(popped_aabbccdd)
# 输出结果为:
# ['pp', 'gg', 'uu']
# ff # 如果知道元素名称,可以用remove()直接删除。
# remove()不具有提取功能。
# 如果列表中有重复的元素,方法remove()只删除索引较小的那一个。
# 如果列表中有重复的元素就需要用if循环解决。
aabbccdd.append('gg')
print(aabbccdd)
aaccddee = aabbccdd.remove('gg')
print(aabbccdd)
print(aaccddee)
# 对应的结果如下:
# ['pp', 'gg', 'uu', 'gg']
# ['pp', 'uu', 'gg']
# None # 3> 列表排序
# 用方法sort()对列表进行排序,可以永久改变列表顺序。
aabbccdd.sort()
print(aabbccdd)
# 输出结果为:['gg', 'pp', 'uu']
# 传入reverse = True,可以相反顺序排序。
aabbccdd.sort(reverse = True)
print(aabbccdd)
# 输出结果为:['uu', 'pp', 'gg']
# 直接将列表传入sorted()可以临时改变列表排序,也同样适用于方法reverse,语句如下。
# print(sorted(aabbccdd,reverse = True))
# 方法reverse()可以倒着打印列表,但可以随时恢复到原来的顺序,只需要再调用这个方法即可。
aabbccdd.reverse()
print(aabbccdd)
# 对应结果如下:['gg', 'pp', 'uu'] # 4> 确定列表长度
# 使用方法len()可以确定列表长度。
print(len(aabbccdd))
# 输出结果为:3 # 5> 遍历列表
# 下面重新定义一个新的列表
abc = ['a','b','c','d','e']
for cc in abc:
print(cc)
# 简单两行代码就可以实现遍历的功能,结果如下
# a
# b
# c
# d
# e # 使用for时要注意后面有个冒号,如,for cc in abc:<---- # 6> 使用函数range()创建数值列表
# 可以使用list()和range()配合直接生成数值列表
numbers = list(range(1,10))
print(numbers)
# 注意,使用range()生成的数字是有头无尾的,所以上述代码的结果如下。
# [1, 2, 3, 4, 5, 6, 7, 8, 9] # 7> 对数字列表的简单统计
# 使用方法max()、min()、sum()对列表秋最大值,最小值和总和
print(min(numbers))
print(max(numbers))
print(sum(numbers))
# 结果如下。
# 1
# 9
# 45 # 8> 列表切片
# 切片就是说提取列表的一部分,且不改变原列表。
# 基本形式是:[起始索引:终止索引],也遵循有头无尾原则。
# 举例如下。
print(numbers[:]) #又叫复制列表
print(numbers[2:8])
print(numbers[:8])
print(numbers[:-1])
print(numbers[2:])
# 结果如下
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
# [3, 4, 5, 6, 7, 8]
# [1, 2, 3, 4, 5, 6, 7, 8]
# [1, 2, 3, 4, 5, 6, 7, 8]
# [3, 4, 5, 6, 7, 8, 9]
# 请读者自行对比这五种切片的异同。 # 9> 元组
# 他是一种特殊的列表,规则限定其中的元素无法被改变,只能被再次赋值。
# 元组是用()表达
yuanzu1 = ('s','ss','sss')
yuanzu1['s'] = 'ssss'
# 这时,Python就会报错,如下。
# TypeError: 'tuple' object does not support item assignment
# 可以看到元组里的元素确实不能被修改。
# 但是对其做赋值操作是可以的。
yuanzu1 = ('s','ss','sss')
yuanzu1 = ('ssssss')
print(yuanzu1)
# 结果为:ssssss
【PY从0到1】第三节 列表的更多相关文章
- uWSGI参考资料(1.0版本的配置选项列表)
Reference: http://blog.csdn.net/kevin6216/article/details/15378617 uWSGI参考资料(1.0版本的配置选项列表) 下面的内容包含了大 ...
- 【PY从0到1】 一文掌握Pandas量化基础
# 2[PY从0到1] 一文掌握Pandas量化基础 # Numpy和pandas是什么关系呢? # 在我看来,np偏向于数据细节处理,pd更偏向于表格整体的处理. # 要记住的pd内部的数据结构采用 ...
- python manage.py runserver 0.0.0.0:8000
python manage.py runserver 这种命令行,可以在服务器端输入IP:8000直接访问 在 python manage.py runserver 127.0.01:8000 在服务 ...
- Android(Lollipop/5.0) Material Design(四) 创建列表和卡片
Material Design系列 Android(Lollipop/5.0)Material Design(一) 简单介绍 Android(Lollipop/5.0)Material Design( ...
- 从0开始学FreeRTOS-(列表与列表项)-3
# FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像. 在`FreeRTOS`中,列表与列表项使用得非常多 ...
- iOS6.0下获取通讯录用户列表
自iOS6.0后获取通讯录列表需要询问用户,经过用户同意后才可以获取通讯录用户列表.而且ABAddressBookRef的初始化工作也由ABAddressBookCreate函数转变为ABAddres ...
- 主攻ASP.NET MVC4.0之重生:Jquery Mobile 列表
代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title ...
- ASP.NET MVC深入浅出系列(持续更新) ORM系列之Entity FrameWork详解(持续更新) 第十六节:语法总结(3)(C#6.0和C#7.0新语法) 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字 各种通讯连接方式 设计模式篇 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借
ASP.NET MVC深入浅出系列(持续更新) 一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模 ...
- 【PY从0到1】第六节 用户输入while循环
# 6 第六节 用户输入while循环 # 1> 重要的函数--input() # 我们先讲解一下input():当Python碰到input()后会执行括号内的语句. # 随后等待用户的输入. ...
随机推荐
- 运维自动化之11 - 自动化部署之jenkins及简介
https://www.cnblogs.com/jimmy-xuli/p/9020825.html
- 软链接mongo
ln -s /usr/local/mongodb/bin/mongo /usr/bin/mongo
- 博客新域名www.tecchen.tech
新年祝福 祝新的一年,大朋友实现所有梦想,小朋友健康成长- 新域名 https://www.tecchen.tech 有效期:10年 旧链接 之前的链接请自行替换为新链接地址,包括但不限于以下二级域名 ...
- FL Studio中有关Sub Bass的一些制作与混音技巧
1.Sub Bass是什么? Sub Bass是一种低沉的低音,其频率大约低于60赫兹,并向下延伸,包括人类所能听到的最低频率,约为20赫兹.在这个范围内,人类的听觉不是很灵敏,所以在这个范围内的声音 ...
- css3系列之属性选择器
Attribute Selectors(属性选择器) E[attr ~="val"] E[attr |="val"] E[attr ^="val&qu ...
- 【P4211 LNOI2014】LCA——树链剖分 +询问离线
(7.16晚)更完先在B站颓一会儿-- --------------------------------------------------------------- (以下为luogu题面) 题目描 ...
- Problem D. Country Meow 题解(三分套三分套三分)
题目链接 题目大意 给你n(n<=100)个点,要你找一个点使得和所有点距离的最大值最小值ans 题目思路 一直在想二分答案,但是不会check 这个时候就要换一下思想 三分套三分套三分坐标即可 ...
- SpringBoot整合阿里短信服务
导读 由于最近手头上需要做个Message Gateway,涉及到:邮件(点我直达).短信.公众号(点我直达)等推送功能,网上学习下,整理下来以备以后使用. 步骤 点我直达 登录短信服务控制台 点我直 ...
- Beta冲刺——总结
这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Alpha冲刺 作业正文 正文 其他参考文献 无 团队GitHub地 ...
- Python爬虫合集:花6k学习爬虫,终于知道爬虫能干嘛了
爬虫Ⅰ:爬虫的基础知识 爬虫的基础知识使用实例.应用技巧.基本知识点总结和需要注意事项 爬虫初始: 爬虫: + Request + Scrapy 数据分析+机器学习 + numpy,pandas,ma ...