python 语言基本知识2:数据结构

该篇包括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 )
  1. 字典
    如有语文: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
  1. 集合
    集合是用花括号扩起来的各种数据,元素不能重复,是无序的。
    集合可以去重,把一个重复元素的列表转换为集合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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计量小虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值