# 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

最新文章

  1. ES6之变量常量字符串数值
  2. thinphp下拉获取更多瀑布流效果
  3. Cocos2d-x 3.2 学习笔记(七)Scene And Transition
  4. 转 Eric Raymond对于几大开发语言的评价
  5. QPaintDevice: Cannot destroy paint device that is being painted
  6. c/c++指针总结[pointer summary]
  7. 五个你可能闻所未闻的出色的Ubuntu替代发行版
  8. RGB同步信号 DCLK/HS/VS/DE信号介绍
  9. Android Proguard
  10. 在WebView中如何让JS与Java安全地互相调用
  11. php 实时推送代码
  12. idea 配置tomcat(包含tomcat Server找不到的配置方法)
  13. commons-lang3 事件机制 &lt;EventListenerSupport&gt;
  14. 【JVM虚拟机】(2)---GC 算法与种类
  15. WPF实现按钮鼠标停留样式的一个坑
  16. spin lock自旋锁 双链表操作(多线程安全)(Ring0)
  17. nginx服务器去掉url中的index.php 和 配置path_info
  18. leetcode724
  19. Android显示GIF动画(转载)
  20. Java IntelliJ IDEA 不能显示项目里的文件结构的解决方案

热门文章

  1. CorelDRAW中的3D线条表现方法
  2. testlink——解决测试度量与报告或图表中中文显示乱码问题
  3. 【模板】【P1182】数列分段II——二分答案
  4. 导出mysql内数据 python建倒排索引
  5. Elements-of-Python_02_DataType
  6. HTML-webstorm添加快捷键
  7. VS Code C++ 项目快速配置模板
  8. The First Assignment
  9. C语言中Linux环境下编译与链接
  10. python下载三方库源地址修改