作者:孚白
导读:
方法技巧和代码环境已经在前面章节讲过,漏过的往前翻。
这节是Python的常用数据结构,涉及的有:list列表、tuple元祖、set集合、dict字典以及对它们的处理方法:访问、添加、删除、切片等
案例法教学,先上代码,大家跟着测试,然后解释,最后练习。
说明:本着我的教学原则,这里我只是介绍常用的方法技术,如果想自学更深入完整的列表、元祖、集合字典以及处理方法,请访问孚白官网的参考资料页面 ipfubai.com/help
# 本代码是零基础Python入门的第六节配套,其它代码请移步:孚白官网(百度一下)
print('----------下面学习列表list---------')
car = ['大众','本田','丰田','奥迪','奔驰','宝马','福特']
# car被赋值一个列表:就是一组元素组合,元素之间没有关系,是有序可以更改的集合
print(car)
print(car[0],car[1])
# 列表内元素使用逗号隔开,使用[]加索引调用,列表的第一个索引从0开始
print('列表中的美国车是:'+car[-1])
# 索引列表的元素也可以从最后面-1开始
car.append('比亚迪')
# 向列表中添加一个元素比亚迪
del car[0]
# 删除列表的第一个元素
print(car)
car.remove('宝马')
# 删除列表的指定元素
car[0] = '特斯拉'
# 把列表指定位置的元素更新
print(car)
print(len(car))
# 查看列表有多少个元素
print(car[0:3])
# 对类别的元素进行切片操作
# 其它有关列表list的详细方法访问孚白官网参考资料页面
print('----------下面学习元祖tuple---------')
city1 = ('北京','上海','广州','深圳')
print(city1)
# city1被定义为元祖tuple,元祖是不可修改的元素集合,无法对其添加删除
city2 = ('杭州',)
# 定义单个元素的元祖必须加逗号,否则会被定义为字符串
print(city1 + city2)
# 其它有关元祖tuple的详细方法访问孚白官网参考资料页面
print('----------学习集合set---------')
country1 = {'中国','美国','印度'}
country2 = set('abc')
country1.add('a')
print(country1, country2)
# 集合是由不重复元素组成的无序容器。基本用法包括成员检测、消除重复元素。
# 定义集合可以使用{}或者set(),前者是单独一个大括号,后者是set后一个小括号
# 集合内的元素唯一不重复,可以添加删除
print(country1&country2, country1|country2, country1-country2, country2-country1)
# 集合可以进行逻辑运算
# 交集&是2个集合中共有的元素、并集|是2个集合所有的元素、差集是一个集合中没用另一个的元素
# 其它有关集合set的详细方法访问孚白官网参考资料页面
print('----------学习字典dict---------')
world = {'china':1,'usa':2,'japan':3}
print(world)
# world被定义为字典,所谓字典就是键(China)值(1)一一对应的储存数据的映射方式
# 字典使用大括号、冒号、逗号定义,同一字典中的各个键必须唯一
print(world['usa'])
# 访问字典不能通过索引,而是通过键。
world['uk'] = 5
# 增加字典里的键值对
del world['usa']
# 删除字典里的键值对
print(world)
x = [('a',1),('b',2)]
z = dict(x)
# 通过列表的方式创建字典
# 列表中每个数组的第一个是键,第二个是值,然后使用dict()方法创建基于列表内数据的字典
print(z)
# 其它有关字典dict的详细方法访问孚白官网参考资料页面
以上代码的输出结果是:
----------下面学习列表list---------
['大众', '本田', '丰田', '奥迪', '奔驰', '宝马', '福特']
大众 本田
列表中的美国车是:福特
['本田', '丰田', '奥迪', '奔驰', '宝马', '福特', '比亚迪']
['特斯拉', '丰田', '奥迪', '奔驰', '福特', '比亚迪']
6
['特斯拉', '丰田', '奥迪']
----------下面学习元祖tuple---------
('北京', '上海', '广州', '深圳')
('北京', '上海', '广州', '深圳', '杭州')
----------学习集合set---------
{'中国', '美国', 'a', '印度'} {'c', 'a', 'b'}
{'a'} {'中国', 'c', '美国', '印度', 'a', 'b'} {'中国', '美国', '印度'} {'c', 'b'}
----------学习字典dict---------
{'china': 1, 'usa': 2, 'japan': 3}
2
{'china': 1, 'japan': 3, 'uk': 5}
{'a': 1, 'b': 2}
练习:
创建一个含有动物园5种任意动物的列表list,添加一个新动物到列表,然后删除第一个动物,print出来。
创建包含1、3、5、7、9、0和2、4、6、8、0的两个集合,然后求其交并差集。
拓展题(我会通过本题目讲搜索解决问题编程的小思路):
- 创建一个字典,内容是语文80分,数学90分,英语88分,然后使用python内置方法输出分数值。
# 第六节练习答案
# 1
zoo = ['狮子','大象','猴子','犀牛','孔雀']
print(zoo)
zoo.append('熊猫')
del zoo[0]
print(zoo)
# 2
set1 = {1,3,5,7,9,0}
set2 = {2,4,6,8,0,}
print(set1&set2, set1|set2, set1-set2, set2-set1)
# 3
score = {'语文':80, '数学':90, '英语':88}
print(score.values())
# 在实际的编程中经常遇到我们没用过的方法处理数据
# 此题为例搜索:Python中返回字典键的值的方法即可找到values()方法
以上代码运行后输出:
['狮子', '大象', '猴子', '犀牛', '孔雀']
['大象', '猴子', '犀牛', '孔雀', '熊猫']
{0} {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 3, 5, 7, 9} {8, 2, 4, 6}
dict_values([80, 90, 88])
下节预告:Python的流程控制