python组合数据类型之元组类型&字典类型&实例

一、元组类型

(元素1,元素2,元素3,……)

不能对元组修改,所以可用函数和方法较少

1.元组的删除

删除的是这个元组,不是删除里面的数据,删除后,这个元组也就不存在了,包括变量名和数据。

NameError,'tp' is not defined

2.tuple函数

tuple()建立一个空的新元组

tuple(str),转换数据类型,字符串转换成元组,注意这里是把字符串每个字符作为元组中一个元素

3.len()可以测量元组长度

二、字典类型

{键1:值1,键2:值2,键3:值3,……}

1.需特别注意

包含多个键值对,一个键值对是一个元素,键值对间用“,”隔开,键和对用“:”

键是值的唯一标识,键是独一无二的,值可以相同。

如果键不唯一,不会报错,但是后面出现的值会覆盖上一个值,这里joker覆盖了jacky

键不可随意修改。可以是数值,字符串,元组类(不能为列表和字典类,这两类可增减元素内容)

2.可用函数

3.创建一个字典类型数据,并添加元素

dict()创建一个空的新字典

变量名[键]=值,添加元素,也就是一个键值对

4.获取字典元素

变量名[键]

5.字典类型的方法

print(dir(dict))查询字典类型的方法

1)变量名.clear():清空字典中的数据元素

2)变量.get(参1,参2):查询参1是否是字典中的键,是返回对应值;不是就返回参2

3)变量名.keys():获取字典中的全部键信息

发现输出中出现dict_keys,这也是一种数据类型,但是我们是用不了的,是python内部使用的。

如果要使用键信息,就需要强制转换数据类型,转换为list()列表类型数据

4)变量名.values():获取字典中的所有值

和keys一样,出现新数据类型dict_values,依旧用list()转换数据类型

5)变量名.items():获取字典中所有键值对信息

新数据类型dict_items,list()转换数据类型

这里每个键值对是一个元组

6)变量名.pop(参数):删除字典中的数据

这里参数就是键,可以把对应键的键值对删除,但是需要注意的是删除内容赋值给了一个新变量,这里新变量内容只有值,是不包括键的。

6.字典的遍历

我们可以利用for循环进行遍历

遍历输出结果,只输出对应的键,没有值。

获得值就需要加,字典名[变量名]

以键值对方式获得键信息和值信息,把循环内容d换为d的键值对

7.数据的维度

一维数据:一行数据

eg:ls=[1,2,3]

二维数据:一般为一个表格

eg:ls=[[’科目‘,’班级平均分‘,’及格人数‘,’最高分‘],\

             ['数学',      '73',           ’30‘,    ’100‘],\

             ['语文',     '76',             ’28‘,    ’99‘],\

             ['英语',     '80',             ’24‘,    ’98‘],\

             ['物理',     '68',            ’19‘,     ’97‘]]

高维数据:用字典表示

eg:d={’一班‘:[[’科目‘,’班级平均分‘,’及格人数‘,’最高分‘],\

             ['数学',      '73',           ’30‘,    ’100‘],\

             ['语文',     '76',             ’28‘,    ’99‘],\

             ['英语',     '80',             ’24‘,    ’98‘],\

             ['物理',     '68',            ’19‘,     ’97‘]],\

            '二班':[[’科目‘,’班级平均分‘,’及格人数‘,’最高分‘],\

             ['数学',      '67',           ’27‘,    ’100‘],\

             ['语文',     '69',             ’19‘,    ’96‘],\

             ['英语',     '79',             ’25‘,    ’100‘],\

             ['物理',     '56',            ’19‘,     ’97‘]],\

            ’三班‘:[[’科目‘,’班级平均分‘,’及格人数‘,’最高分‘],\

             ['数学',      '71',           ’20‘,    ’100‘],\

             ['语文',     '74',             ’28‘,    ’99‘],\

             ['英语',     '80',             ’24‘,    ’98‘],\

             ['物理',     '76',            ’30‘,     ’100‘]],\

           ’四班‘: [[’科目‘,’班级平均分‘,’及格人数‘,’最高分‘],\

             ['数学',      '80',           ’24‘,    ’100‘],\

             ['语文',     '76',             ’28‘,    ’99‘],\

             ['英语',     '89',             ’33‘,    ’100‘],\

             ['物理',     '68',            ’15‘,     ’87‘]]}

三、实例:实现统计学生信息

项目描述:选班长,学生投票,候选人有a,b,c,d这四个人,票高者当班长。现在已经得到10人投票结果信息列表ls=['c','a','b','b','b','d','b','c','a','a']

项目任务:设计一个用于自动统计各班长候选人的总票数程序

实现代码:

1)统计各候选人票数

D为新建的空字典,ls是候选人所有票,for循坏实现获得每一票的候选人名字

get函数,字典D中没有被赋值v这个键(候选人名)返回0,则D[v]=0+1,意思是在字典D中添加一个元素,该元素是一个键值对,如果字典D中有被赋值v这个键,就返回该键(候选人名)对应的值

2)实现学生输入投票

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值