python学习‘hi组合数据类型

一、集合类型及操作

1.集合定义及特点

定义:集合是多个元素的无序组合,用{}表示

特点:集合内元素无序且唯一(不存在相同元素),集合元素不能说可变数据类型

 

2.集合操作

①建立集合类型:使用{}或set()

   建立空集合类型:只能使用set()

   (因为python中通过{}建立的是空集合(集合用的多))

如:

   >>> A = {"python", 123, "python",("python", 123)}

   #使用{}建立集合

{123, 'python',('python', 123)}

   >>> B = set("pypy123")

   #使用set()建立集合

{'1',p', '2', '3','y'}

②集合间操作

  ③集合操作符(获取到新集合)如:

A = {'p','y', 123}

B = set("pypy123")

A|B -- >{'1','p','2','y','3', 123}

A-B -->{123}

B-A -->{'1','2','3'}

A&B -->{'p','y'}

A^B -->{'2',123,'3','1'}

③集合增强操作符(直接更新集合)

④集合的处理方法   可以使用for in或while来遍历元素,(获取集合元素时,可能与你定义顺序不同)

 

3.集合类型应用场景

①包含关系的比较

对于包含关系的比较,可以使用集合类型来表达一组数据,并使用关键字"in"判断其他元素是否在集合中

如:

>>> "p" in {"p", "y",123}

True

>>> {"p", "y"} >= {"p", "y",123}

False

②数据去重

可以利用集合中元素不能重复的特点,把列表转换为集合,达到元素去重效果。

如:

>>>ls=["p","p","y","y", 123]

s=set(ls)

{'p','y',123}

#利用了集合无重复元素的特点

>>>lt = list(s) #还可以将集合转换为列表

['p','y',123]

 

 

二、序列类型及操作

1.序列类型定义及特点

定义:序列是具有先后关系的一组元素,元素间由序号引导,通过下标访问序列的特点元素

特点:

①序列中元素可以相同,元素类型可以不同

②序列是一个基类类型,一般使用序列类型衍生出来的类型(字符串,列表,元组),序列类型的性质同样在衍生类型中适用

 

2.序列的处理函数及方法

①序列类型的通用操作符 

如:

>>Is =["python",123,".io"]

>>>ls[::-1]

['.io','123','python']

>>>s="python123.io"

>>>s[::-1]

'oi.321nohtyp'

②序列类型通用函数及方法 

如:

>>> ls = ["python", 123, ".io"]

>>> len(ls)

3

>>> s = "python123.io"

>>> max(s)

'y'

 

3.元组

①元组类型定义及特点

定义:元组是序列类型的一种扩展,一旦被创建就不能被修改,可以通过()或tuple()创建元组,元素间用逗号分隔,可以使用或不使用小括号()

特点:元组的元素不可变,对元组进行了操作并不会更改原元组的值,而是创建了一个新的元组。

②元组的操作

元组的类型的定义:

如:

>>> creature = "cat", "dog", "tiger"

>>> creature

('cat', 'dog', 'tiger')

>>> color = (0×001100, "blue", creature)

>>> color

(4352,'blue', ('cat', 'dog', 'tiger', 'human'))

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

如:

>>> creature = "cat", "dog", "tiger"

>>> creature[::-1]

('tiger', 'dog', 'cat')

>>> color = (0×001100, "blue", creature)

>>> color[-1][2]

'tiger'

 

4.列表

①列表的定义及特点

定义:列表是序列类型的一种扩展,创建后可以随意修改,可以使用[]或list()创建,元素间用逗号分隔

特点:列表中各类型可以不同,无长度限制

②列表的操作

列表类型定义:

>>>Is =["cat","dog","tiger", 1024]

>>>ls

['cat', 'dog', 'tiger', 1024]

>>>lt = Is 

>>>lt ['cat', 'dog', 'tiger', 1024]

['cat','dog','tiger',1024]

方括号[]才是真正创建了一个列表,赋值仅值传递引用

 把一个列表复制给另一个列表,只是重新命名了一个列表名,两个列表名都指向同一地址,未重新创建一个列表

列表类型操作函数和方法:

 如:

>>>Is = ["cat", "dog", "tiger", 1024]

>>>1s[1:2] =[1,2,3, 4]

['cat',1,2,3, 4,'tiger', 1024]

>>>del ls[::3]

[1,2, 4, 'tiger']

>>>1s*2

[1,2,4, 'tiger', 1, 2, 4, 'tiger']

 

如:

>> 1s = ["cat","dog", "tiger", 1024]

>>> Is.append(1234)

['cat','dog', 'tiger',1024-1234]

>>>Is.insert(3,"human")

['cat','dog','tiger', 'human', 1024,1234]

>>>ls.reverse()

[1234,1024,'human','tiger',‘dog', 'cat']

 

⭐️考察默写题:

定义空列表It

向t新增5个元素

修改It中第2个元素

向t中第2个位置增加一个元素

从It中第1个位置删除一个元素

删除lt中第1-3位置元素

判断It中是否包含数字0

向t新增数字0

返回数字0所在lt中的索引

It的长度

It中最大元素

清空t

 

参考答案见文章最后面

 

5.序列类型应用场景

①数据表示: 元组 和 列表

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

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

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

②元素遍历

列表:

 for item in ls:

       <语句块>

元组:

for item in tp:

       <语句块>

③数据保护

如果不希望数据被程序所改变,转换成元组类型

>>>1s =["cat","dog","tiger", 1024]

>>>lt = tuple(ls)

>>>lt

('cat','dog','tiger', 1024)

 

 

三、字典类型及操作

1.字典定义及特点

①字典类型是"映射"的表现。字典是键值对的集合,键值对之间无序。采用{}和dict()创建,键值对用冒号:表示

②映射类型与序列类型区别:

序列类型是由0...N整数作为数据默认索引

映射类型是由用户为数据定义索引

所谓"映射":指的是一种键(索引)和值(数据)的对应。

③基本用法:在字典变量中,通过键获得值

赋值:

<字典变量>={く键1>:<值1>,...,<键n>:<值n>}

更改或添加:

<值>=<字典变量>[<键>] 

<字典变量>[<键>]=<值>

[]用来向字典变量中索引或增加元素

如:

>>>d={"中国":"北京","美国":"华盛顿","法国":"巴黎"}

>>> d

{'中国':'北京','美国':'华盛顿','法国':'巴黎'}

>>> d["中国"]

北京

>>> de = {} ; type(de)

<class 'dict'>

 

type(x):返回变量x的类型

 

2.字典的处理函数及方法

 如:

>>>d ={"中国":"北京","美国":"华盛顿","法国":"巴黎"}

>>>"中国" in d

True

>>>d.keys()

dict_keys(['中国','美国','法国'])

>>>d.values()

dict_values(['北京','华盛顿','巴黎'])

 如:

>>>d ={"中国":"北京","美国":"华盛顿","法国":"巴黎"}

>>> d.get("中国","伊斯兰堡")

'北京'

>>>d.get("巴基斯坦","伊斯兰堡")

'伊斯兰堡'

>>>d.popitem()

('美国’,‘华盛顿')

 

⭐️字典方法默写

定义空字典d

向d新增2个键值对元素

修改第2个元素(字典无顺序,用第二个键名来)

判断字符"c"是否是d的键

计質d的长度

清空d

 

参考答案见文章最后面

 

4.字典类型应用场景

①映射的表达

映射无处不在,键值对无处不在。

- 例如:统计数据出现的次数,数据是键,次数是值

-最主要作用:表达键值对数据,进而操作它们

②元素遍历

for k in d:

   <语句块>

 

 

 

参考答案:

列表:

>>>lt = []

>>>lt += [1, 2, 3, 4, 5]

>>>lt[2] =6

>>>lt.insert(2, 7)

>>>del lt[1]

>>>del lt[1:4]

>>>0 in lt

>>>lt.append(0)

>>>lt.index(0)

>>>len(lt)

>>>max(lt)

>>>lt.clear()

字典:

>>>d={}

>>> d["a"] = 1;d["b"] = 2

>>> d["b"]=3

>>> "c" in d

>>> len(d)

>>> d.clear()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值