Python知识点汇总--Python基础(组合数据类型)

一、什么是组合数据类型(列表元组集合字典

1.Python中常用的序列类型有字符串列表元组

Python中的序列支持双向索引:正向递增索引和反向递减索引正向递增索引从左向右依次递增,第一个元素的索引为0,第二个元素的索引为1,以此类推;反向递减索引从右向左依次递减,从右数第一个元素的索引为-1,第二个元素的索引为-2,以此类推。

Python知识点汇总--Python基础(组合数据类型)_第1张图片

 2.Python集合具备定性互异性无序性个特性。Python要求放入集合中的元素必须是不可变类型,Python中的整型浮点型字符串类型元组属于不可变类型,列表字典集合本身都属于可变的数据类型

        (1)确定性:给定一个集合,那么任何一个元素是否在集合中就确定了。

        (2)互异性:集合中的元素互不相同。

        (3)无序性:集合中的元素没有顺序,顺序不同但元素相同的集合可视为同一集合。

3.映射类型以键值对的形式存储元素,键值对中的键与值之间存在映射关系字典dict)是Python唯一的内置映射类型,字典的键必须遵守以下两个原则:

        (1)每个键只能对应一个值,不允许同一个键在字典中重复出现。

        (2)字典中的键是不可变类型。

二、列表

1.创建列表:Python列表的创建方式非常简单,既可以直接使用中括号“[]”创建,也可以使用内置的list()函数快速创

list_one = []      	 # 使用[]创建空列表
list_two = list() 	 # 使用list()创建空列表

 2.访问列表元素:列表中的元素可以通过索引切片这两种方式进行访问,也可以在循环中依次访问。

list = ["a","b","c","d","e"]

print(list[1]) # "b"

for i in list:
    print(i,end='') 

3.添加列表元素:向列表中添加元素是非常常见的一种列表操作,Python提供了append()extend()insert()这几个方

append():在列表末尾加元素

extend():在列表末尾另一序列的所有元素

insert():按照索引将元素插入列表的指定位置

list_one = ["a","b","c"]
list_two = ["d","e"]

list_one.append("f")
list_one.extend(list_two)
list_one.insert(0,"hello")
print(list_one) # ['hello', 'a', 'b', 'c', 'f', 'd', 'e']

3.列表元素排序:列表的排序是将元素按照某种规定进行排列。列表中常用的排序方法有sort()reverse()sorted()

sort():对列表元素进行排序,不会产生新列表,会覆盖原列表

reverse():对列表元素进行排序,结果为倒序,覆盖原列表

sorted():对列表元素进行排序,会产生新列表,原列表不受影响

4.删除列表元素:删除列表元素的常用方式有del语句、remove()方法、pop()方法和clear()方法

del():删除列表中指定位置的元素

remove():传入一个元素,然后删掉匹配到的第一个元素

pop():移除列表中的某个元素,若未指定具体元素,则移除列表中的最后一个元素

clear():清空列表中的元素,列表依然存在

list = ["a","a","b","c","d","e"]

del list[2]
list.remove("a")
list.pop()
print(list) # ['a', 'c', 'd']

5.列表推导式:列表推导式是符合Python语法规则的复合表达式,它用于以简洁的方式根据已有的列表构建满足特定需求的列列表推导式的基本格式如下:

[exp for x in list]

li = [1,2,3,4,5,6,7,8,9]
x = [x**2 for x in li]
print(x) # [1, 4, 9, 16, 25, 36, 49, 64, 81]

列表推导式还可以结合if判断语句或for循环嵌套,生成更灵活的列表

li = [1,2,3,4,5,6,7,8,9]
x = [x**2 for x in li if x > 5]
print(x) # [36, 49, 64, 81]

三、元组

元组的表现形式为一组包含在圆括号“()中、由逗号分隔的元素,元组中元素的个数、类型不受限制。除了使用()构建元组外,还可以使用置函数tuple()建元

t1 = ()  # 使用()构建元组
t2 = tuple()  # 使用tuple构建元组

当使用圆括号“()”创建元组时,如果元组中只包含一个元素,那么需要在该元素的后面添加逗号从而保证Python解释能够识别其为元组类型

t1 = ('python') 
t2 = ('python',)
print(type(t1)) # 
print(type(t2)) # 

 元组支持索引切片方式访问元组的元素,也支持在循环中遍历元组

四、集合

Python的集合(set)本身是可变类型,但Python要求放入集合中的元素必须是不可变类型。大括号“{}或内置函数set()均可构建集合。

s1 = {1}	 # 使用{}构建集合

s2 = set([1,2])	 # 使用set构建元组

需要注意,使用{}不能创建空集合(不包含元素的{}创建的是字典变量),空集合只能利用set()函数创建

set_demo1 = {}
set_demo2 = set()
print(type(set_demo1)) # 
print(type(set_demo2)) # 

集合是可变的,集合中的元素可以动态增加删除Python提供了一些内置方法来操作集合,常见内置方法下:

Python知识点汇总--Python基础(组合数据类型)_第2张图片 

 集合也可以利用推导式创建,集合推导式的格式与列表推导式相似,区别在于集合推导式外侧为大括号“{}”,具体如下:

{exp for x in set if cond}

set = {x*y for x in {1,2,3,4} for y in {1,2,3,4}}
print(set) # {1, 2, 3, 4, 6, 8, 9, 12, 16}

五、字典

1.字典的创建:字典的表现形式为一组包含在大括号“{}中的键值对,每个键值对为一个字典元素,每个元素通过逗号“”分隔,每对键值通过“”分隔,除了使用“{}”创建字典还可以使用内置函数dict创建字典。 

d1 = {'A': 123, 12: 'python'}	 # 使用{}构建集合

d2 = dict({'A': '123', 'B': '135'})	 # 使用dict构建元组

2.字典的访问:字典的值可通过“”或内置方法get()访

dict = {"A":120,"B":125}

print(dict["A"]) # 120
print(dict.get("B")) # 125

字典涉及的数据分为元素(键值对),除了直接利用键访问值外,Python还提供了内置方法keys()values()items()

 keys():获取字典中的所有键

values():获取字典中的所有值

items():获取字典中的所有元素

dict = {"A":120,"B":125,"C":130}

print(dict.keys()) # dict_keys(['A', 'B', 'C'])
print(dict.values()) # dict_values([120, 125, 130])
print(dict.items()) # dict_items([('A', 120), ('B', 125), ('C', 130)])

 3.字典元素的添加和修改

字典支持通过为指定的键赋值或使用update()方法添加或修改元素,下面分别介绍如何添加和修改字典元

通过键加元素:字典变量[] =

使用update()添加元素:dict.update(key=value)

dict = {"A":120,"B":125,"C":130}

dict["D"] = 135
dict.update(E = 140)
print(dict.items())
# dict_items([('A', 120), ('B', 125), ('C', 130), ('D', 135), ('E', 140)])

修改字典元素的本质是通过键获取值,再重新对元素进行赋值。修改元素的操作与添加元素的操作相同

dict = {"A":1,"B":3,"C":5,"D":7,"E":9}
dict.update(C = 12)
dict["E"] = 36
print(dict.items())
# dict_items([('A', 1), ('B', 3), ('C', 12), ('D', 7), ('E', 36)])

4.字典元素的删除

Python支持通过pop()popitem()clear()方法删除字典中的元素。

pop():根据指定键值删除字典中的指定元

popitem():随机删除字典中的元素,没有指定则删除最后一个元素

clear():清空字典中的元素

dict = {"A":1,"B":3,"C":5,"D":7,"E":9}
dict.update(C = 12)
dict["E"] = 36
dict.pop("C")
dict.popitem()
print(dict.items())
# dict_items([('A', 1), ('B', 3), ('D', 7)])

5.字典推导式

字典推导式外侧为大括号“{}”,且内部需包含键和值两部分,具体格式如下:

{new_key:new_value for key,value in dict.items()}

 利用字典推导式可快速交换字典中的,示例如下:

old_dict = {"A":1,"B":3,"C":5,"D":7,"E":9}
new_dict = {value : key for key,value in old_dict.items()}
print(new_dict) # {1: 'A', 3: 'B', 5: 'C', 7: 'D', 9: 'E'}

六、组合数据类型与运算

Python中针对数字类型的运算符对组合数据类型同样适用,包括+*innot in

字符串、列表和元组使用 + ”运算符,会对数据进行拼

字符串、列表和元组使用“ * ”运算符,会对数据进行整数倍拼

“in”“not in”运算符称为成员运算符,用于判断某个元素是否属于某个变

本章小结

本章首先带领大家简单认识了Python中的组合数据类型,然后分别介绍了Python中常用的组合数据类型:列表元组集合字典创建和使用,最后介绍了组合数据类型与运算符的相关知识。通过本章的学习,希望大家能掌握并熟练运用Python中的组合数据类型。

 

你可能感兴趣的:(python,开发语言,后端)