引言:给出一个数字7,它是一个数据,表达一个基本含义,但在我们处理问题的时候,我们经常会遇到的不是一个数据,而是一组数据。一组数据可以表达一个或多个含义,那么怎么让程序把一组数据,当成一个数据来处理呢?或者怎么能让程序更好的组织一组数据,这就是组合数据类型需要完成的任务。

python numpy组合数 python 组合数函数_数据类型

Ⅰ集合数据类型及操作

1. 定义:

①集合是多个元素的无序组合,与数学集合概念一致;

②集合元素之间无序,每个元素唯一,不存在相同元素;

③集合元素不可更改,不能是可变数据类型;

④建立集合类型用{}或set(),建立空集合用set。

e.g:

>>>B =set(“pypy123”)
>>>print(B)
>>>B ={‘p’,’y’,’3’,’1’,’2’}

2. 集合操作符:

①S | T :返回一个新集合,该集合是S和T的并集;

②S – T:返回一个集合,该集合在S中但不在T中的元素;

③S & T:返回一个包括S和T同时拥有的元素的集合;

④S ^ T :返回一个包括S和T中的非相同元素的集合;

⑤S <= T或S<T:判断子集关系,根据判断返回True/False;

⑥ S >= T或S>T:判断包含关系,根据判断返回True/False。

3.  增强操作符:

①S |= T:更新S,返回一个集合,包括S和T中使用元素;

②S-=T:更新S,返回一个集合,包括在S中但不在T中的元素;

③S&=T:更新S,返回一个集合,包括同时在S和T中的元素;

④S^=T:更新S,返回一个集合,包括S和T中的非相同元素。

4.集合的处理方法:

S.add(x):在集合S中增加x元素

S.discard(x):移除x元素,当x不在S中时,程序不会报错;

S.remove(x):移除x元素,当x不在S中时,程序会报错;

S.clear():移除S中的所有元素;

S.pop():随机返回S中的元素并更新S,若S中无元素,产生KeyError;

S.copy():返回集合S的一个副本;

len(S):返回S中的元素个数;

x in S:判断x元素是否在集合S中,并返回True/False;

set(x):将其他类型的变量转化为集合类型。

5.集合类型应用场景:

①包含关系比较

e.g:
      >>>”p”in {‘p’,’y’,123}
      True

②数据去重:

>>>ls = [‘p’,’y’, ‘p’,’y’,123]
  >>>s = set(ls)
      {‘p’,’y’,123}

Ⅱ序列数据类型及操作

1.定义:

①序列是具有先后顺序的一组关系;

②序列是一维元素向量,元素类型可不同;

③类似于数学元素序列:S0 , S1 ……Sn-1;

④元素间有序号引导,通过下标访问序列的特定元素。

2.序列处理函数及方法

①通用操作符:

x in s :判断x是否是S中元素,并且输出True/False

x not in s:判断是否是S中元素,并且输出False/True

S + T:连接两个序列S和T

S*n 或n*S:将序列S复制n次

S[i]:索引,返回S中的第i个元素

S[i:j]或S[i:j:k]:对S进行切片并返回

③通用函数和方法:

len(S):返回序列S的长度

min(S):返回序列S中的最小元素

max(S):返回序列S中的最大元素

S.index(x)或S.index(x,i,j)返回序列S从i到j中第一次出现元素x的位置

S.count(x):返回S中出现x的总次数

3.元组数据类型:

①定义:-元组是序列类型的一种扩展。

  -元组是一种序列类型,一旦创建就不能修改

  -使用()或tuple()创建一个元组,元素间用“,”隔开

  -可以使用或者不使用()

e.g:
      >>>def func():
                    return 1,2

②元组操作类型:元组继承了序列类型的全部通用操作

4. 列表数据类型及操作:

①定义:列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

②列表类型操作函数:

ls[i] = x:替换ls中的第i个元素

ls[i:j:k] = lt:用列表lt替换ls切片后的所对应的元素拓展

del ls[i]:删除ls中的第i位元素

del ls[i:j:k]:删除列表ls中第i到j,以k为步长的元素

ls += lt:更新ls,将lt元素增加到ls中

ls*=n :更新列表ls,其元素重复n次

③列表操作方法:

list.append(obj):在列表末尾添加新的对象

list.count(obj):统计某个元素在列表中出现的次数

list.extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

list.index(obj):从列表中找出某个值第一个匹配项的索引位置

list.insert(index, obj):将对象插入列表

list.pop([index=-1]):移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

list.remove(obj):移除列表中某个值的第一个匹配项

list.reverse():反向列表中元素

list.sort( key=None, reverse=False):对原列表进行排序

list.clear():清空列表

list.copy():复制列表

[if !supportLists]5.  [endif]序列类型应用场景

①元组用于元素不改变的应用场景,更多用于固定搭配场景

②列表更加灵活,是最常用的序列类型

③最主要作用:表示一组有序数列,进而操控它们

Ⅲ字典数据类型及操作

1.定义:一种键(索引)和值(数据)的对应

2.字典类型是“映射”的体现:

①键值对:键是数据索引的扩展

②字典是键值对的集合,键值对之间无序

③使用{}或dict()创建

e.g:
      >>>d= {‘中国’:’北京’,’美国’:’华盛顿’,’法国’:’巴黎’}
   >>>d[‘中国’]
   ‘北京

3.字典处理函数及方法:

del d[k]:删除字典d中键k对应的数据值

k in d:判断键k是否在字典d中,如果在返回True,否则False

d.keys():返回字典d中所有的键信息

d.values():返回字典d中所有的值信息

d.items():返回字典d中所有的键值对信息

d.get(k, <default>):键k存在,则返回相应值,不在则返回<default>值

d.pop(k, <default>):键k存在,则取出相应值,不在则返回<default>值

d.popitem();随机从字典d中取出一个键值对,以元组形式返回

d.clear():删除所有的键值对

len(d):返回字典d中元素的个数

4.字典数据类型应用场景:最主要作用是利用键值对数据,进而操作它们。

Ⅳ实例:基本统计值计算

对相关题目解答流程:

python numpy组合数 python 组合数函数_python numpy组合数_02

1.问题描述:对于一组数据,计算并分析出它们的平均数,中位数,极差。

总个数:len()

求和:for ...in

平均值:求和/总个数

方差:各数据与平均数差的平方的和的平均数

中位数:排序后,奇数个找中间一个数,偶数个找中间两个数。

补充:sorted()函数可以对列表进行排序

思路:对于平均数,我们需要求得它的总个数与和;对于中位数,我们需要对总个数进行判断,个数为奇数取中间值,偶数取中间两数的平均数;对于方差,我们需要利用平均数,再用每个数减去平均数的平方,求得的和开平方即为方差。

代码:

python numpy组合数 python 组合数函数_键值对_03

输出结果:

python numpy组合数 python 组合数函数_python numpy组合数_04

Ⅴ总结:通过对序列数据类型的学习,以后在对于不同数据类型的储存与使用将会更加方便,程序也会更加清晰。无论是多个元素无序组合,元素不能更改的集合;还是具有先后顺序的序列;亦或是键值对集合的字典,都值得我们认真学习并通过不断练习达到灵活使用的程度!