该篇包括3个标题:
第1章 python语言相关概念
第2章 数据的容器
第3章 流程控制
第2章 数据的容器,主要包括列表、元组、字典、集合等概念的理解与运用。
1.列表
1.1 列表用方括号表示
my_list = ['I', 'love', 'nanjing university']
print(my_list)
1.2 列表索引
a_list = ['crazyit', 20, 5.6, 'fkit', -17]
print(a_list[0]) ## 访问第1个元素 crazyit
1.3 列表切片
变量名[start🔚step],start开始(包含),end结束(不包含),step步长,为正数。
b_list = (1, 2, 3, 4, 5, 6, 7, 8, 9)
print(b_list[2: 8: 2]) # (3, 5, 7): 访问从第3个到第9个(不包含)、间隔为2的所有元素
1.4拼接与修改:加法(也可以有乘法,见元组的用法)
list1 = ['I', 'love', 'you']
list2 = ['nanjing','university']
list3=list1+list2 #两个列表拼接成一个列表
print(list3)
1.5 在末尾添加元素
list1 = ['I', 'love', 'you']
list1.append('nanjing')
list1.append('university')
print(list1)
1.6 列表解装
只可以解装列表成字符串
my= ('I', 'love','nanjing','university.')
str1,str2,str3,str4 =my
print(str1,str2,str3,str4)
1.7 创建列表
- #创建区间时还指定步长
c_list = list(range(4, 20, 3))
print(c_list) # [4, 7, 10, 13, 16, 19]
1.8 列表其他操作
删除del 或remove()、排序sort()、计数count()等,可以参考《疯狂python讲义》第3章相关内容。
2.元组
2.1元组用圆括号表示
my_tuple = ('I', 'love', 'nanjing','university')
print(my_tuple)
2.2元组索引
a_tuple = ('crazyit', 20, 5.6, 'fkit', -17)
-# 访问倒数第1个元素
print(a_tuple[-1]) # -17
2.3元组切片
my= ('I', 'love','nanjing','university')
print(my_tuple[1:3])
2.4拼接与修改:乘法(也可以有加法,见列表的用法)
tuple1 = ('I', 'love', 'you')
tuple2=tuple1*3 #元组中的元素均重复3遍
print(tuple2)
2.5长度、最大值、最小值
a_tuple = (20, 10, -2, 15.2, 102, 50) # 元素都是数值的元组
print(max(a_tuple)) # 102
print(min(a_tuple)) # -2
print(len(a_tuple)) # 6 计算长度
2.6元组封装与解装
把多个字符串或值赋给一个变量时,将字符串或多个值封装成元组。解装如左边列表所示。
tuple1= 'I', 'love','nanjing','university.'
print(tuple1)
2.7将列表转换成元组
a _list = ['crazyit', 20 , - 1. 2]
#将列表转换成元组
a_tuple = tuple(a_list)
print ( a_tuple )
- 字典
如有语文:79,数学:80,英语:92的成绩表数据,其中语文、数学、英语时关键数据称为key,相应的79,80,92称为值value。
3.1创建字典
使用花括号
使用dict()函数
多个key-value对之间用英文逗号隔开,key和value之间用英文冒号隔开。
scores = {'语文': 89, '数学': 92, '英语': 93}
print(scores)
empty_dict = {} # 空的花括号代表空的dict
print(empty_dict)
dict2 = {(20, 30):'good', 30:'bad'} # 使用元组作为dict的key
print(dict2)
vegetables = [('celery', 1.58), ('brocoli', 1.29), ('lettuce', 2.19)]
dict3 = dict(vegetables) # 创建包含3组key-value对的字典
print(dict3) # {'celery': 1.58, 'brocoli': 1.29, 'lettuce': 2.19}
cars = [['BMW', 8.5], ['BENS', 8.3], ['AUDI', 7.9]]
dict4 = dict(cars) # 创建包含3组key-value对的字典
print(dict4) # {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
dict6 = dict(spinach = 1.39, cabbage = 2.59)# 使用关键字参数来创建字典
print(dict6) # {'spinach': 1.39, 'cabbage': 2.59}
3.2获取值value
变量名[key]
变量名.get(key)
scores = {'语文': 89, '数学': 92, '英语': 93}
print(scores['语文' ])
cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
print(cars.get('BMW')) # 8.5
print(cars.get('PORSCHE')) # None
3.3清空key-value对
变量名.clear()
cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
cars.clear() # 清空cars所有key-value对
print(cars) # {}
3.4更新字典
变量名.update()
cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
cars.update({'BMW':4.5, 'PORSCHE': 9.3})
print(cars)
3.5获取字典中所有对,
变量名.items()
3.6获取字典中所有key
变量名.keys()
3.7获取字典中所有value
变量名.values()
其他功能可以参考《疯狂python讲义》第3章相关内容。
cars = {'BMW': 8.5, 'BENS': 8.3, 'AUDI': 7.9}
ims = cars.items()# 获取字典所有的key-value对,返回一个dict_items对象
print(list(ims)) # 将dict_items转换成列表
print(list(ims)[1]) # 访问第2个key-value对
kys = cars.keys()
print(list(kys)) # 将dict_keys转换成列表
print(list(kys)[1]) # 访问第2个key
vals = cars.values()
print(type(vals)) # 获取字典所有的value,将dict_values转换成列表
print(list(vals)[1]) # 访问第2个value
- 集合
集合是用花括号扩起来的各种数据,元素不能重复,是无序的。
集合可以去重,把一个重复元素的列表转换为集合set()函数,在转换回列表list()函数。
list1=[2,1,3,2,4,5,5,6,7,8,'s','o','s']
unique_list=list(set(list1))
print(unique_list)
输出结果:[1, 2, 3, 4, 5, 6, 7, 8, ‘s’, ‘o’],损失了一些关键的信息。
练习
000068在报告期内,董事会战略委员会召开3次会议,审议了授权经营班子 处理土地或项目竞买、境外发行美元债券、公开发行公司债券事项;审计委员会召开3次会议,协商确定2016年度审计工作安排计划,就审计中相关重大事项进行沟通,对 年度审计工作进行总结并就年度财务报告发表意见;提名委员会召开1次会议,对公司拟聘任的高级管理人员资格进行审核;薪酬与考核委员会召开1次会议,讨论董事薪酬、独立董事、监事津贴及高级管理人员薪酬事项。
问题:观察这段话,按照下面表格的形式输出。
list_title='公司代码\t\t专业委员会\t\t会议次数'
list1='000068\t\t董事会战略委员会\t\t3'
list2='000068\t\t审计委员会\t\t\t3'
list3='000068\t\t提名委员会\t\t\t1'
list4='000068\t\t薪酬与考核委员会\t\t1'
print(list_title)
print(list1)
print(list2)
print(list3)
print(list4)