Python中常用的序列类型有字符串、列表和元组。
Python集合具备确定性、互异性和无序性三个特性。
确定性:给定一个集合,那么任何一个元素是否在集合中就确定了。
互异性:集合中的元素互不相同。
无序性:集合中的元素没有顺序,顺序不同但元素相同的集合可视为同一集合。
1. 列表
1.1. 创建列表
Python列表的创建方式非常简单,既可以直接使用中括号“[]”创建,也可以使用内置的list()函数快速创建。
list_one = [] # 使用[]创建空列表
li_two = list() # 使用list()创建空列表
可迭代对象
在Python中,支持通过for…in…语句迭代获取数据的对象就是可迭代对象。目前,我们学习过可迭代的类型有字符串和列表,后续学习的集合、字典、文件也是可迭代类型的对象。使用isinstance()函数可以判断目标是否为可迭代对象,返回True表示为可迭代对象。
#判断是否为可迭代对象
from collections.abc import Iterable
ls = [3,4,5]
print(isinstance(ls, Iterable))
输出结果为:
True
1.2 访问列表元素
列表中的元素可以通过索引或切片这两种方式进行访问,也可以在循环中依次访问。
list_one = ["java","c#","python","PHP"]
print(list_one[1]) 索引
print(list_one[1]) 切片
for li in list_one: 1.4循环
print(li,end=' ')
例如:
list_one = ["Java", "C#", "Python", "PHP"]
print(list_one[0])
print(list_one[1:-1])
for li in list_one:
print(li, end=' ')
输出结果为:
Java
['C#', 'Python']
Java C# Python PHP
1.3 添加元素
向列表中添加元素是非常常见的一种列表操作,Python提供了append()、extend()和insert()这几个方法。
list_one = ["Java", "C#", "Python", "PHP"]
list_one.append("C++") append
list_one.extend([["Android", "IOS",]) extend
list_one.insert(2,“HTML") insert
1.4 元素排序
列表的排序是将元素按照某种规定进行排列。列表中常用的排序方法有sort()、reverse()、sorted()。
li_one = [6, 2, 5, 3]
list_one.sort() sort
li_two = sorted(li_one) sorted
li_one.reverse() reverse
1.5 删除列表元素
删除列表元素的常用方式有del语句、remove()方法、pop()方法和clear()方法。
li_one = [6, 2, 5, 3, 3]
del li_one[0] del
li_one.remove(3) remove
li_one.pop() pop
li_one.clear() clear
2. 元组
元组的表现形式为一组包含在圆括号“()”中、由逗号分隔的元素,元组中元素的个数、类型不受限制。除了使用()构建元组外,还可以使用内置函数tuple()构建元组。
t1 = () # 使用()构建元组
t2 = tuple() # 使用tuple构建元组
当使用圆括号“()”创建元组时,如果元组中只包含一个元素,那么需要在该元素的后面添加逗号,从而保证Python解释器能够识别其为元组类型。
t1 = ('python')
t2 = ('python',)
print(type(t1))
print(type(t2))
输出结果为:
<class 'str'>
<class 'tuple'>
元组支持以索引和切片方式访问元组的元素,也支持在循环中遍历元组。
例如:
tuple_demo = ('p','y','t', 'h', 'o','n')
print(tuple_demo[2])
print(tuple_demo[2:5])
for i in tuple_demo:
print(i,end='')
输出结果为:
t
('t', 'h', 'o')
python
3. 集合
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))
输出结果为:
<class 'dict'>
<class 'set'>
集合是可变的,集合中的元素可以动态增加或删除。Python提供了一些内置方法来操作集合,常见内置方法如下:
4.字典
创建字典
字典的表现形式为一组包含在大括号“{}”中的键值对,每个键值对为一个字典元素,每个元素通过逗号“,”分隔,每对键值通过“:”分隔,除了使用“{}”创建字典还可以使用内置函数dict创建字典。
d1 = {'A': 123, 12: 'python'} # 使用{}构建集合
d2 = dict({'A': '123', 'B': '135'}) # 使用dict构建元组
访问字典
字典的值可通过“键”或内置方法get()访问。
d2 = dict({'A': '123', 'B': '135'})
d2['A'] 键
d2.get('B') get()
字典涉及的数据分为键、值和元素(键值对),除了直接利用键访问值外,Python还提供了内置方法keys()、values()和items()。
info = {'name': 'Jack','age':23,'height':185}
print(info.keys()) #获取所有键
print(info.values()) #获取所有值
print(info.items()) #获取所有元素
输出结果:
dict_keys(['name', 'age', 'height'])
dict_values(['Jack', 23, 185])
dict_items([('name', 'Jack'), ('age', 23), ('height', 185)])
元素的添加和修改
字典支持通过为指定的键赋值或使用update()方法添加或修改元素,下面分别介绍如何添加和修改字典元素。
通过键添加元素:字典变量[键] = 值
使用update()添加元素:dict.update(key=value)
#添加元素
add_dict = {'name': 'Jack','age':23,'height':185}
add_dict['num'] = 89
add_dict.update(sco=98)
print(add_dict)
输出结果:
{'name': 'Jack', 'age': 23, 'height': 185, 'num': 89, 'sco': 98}
修改字典元素的本质是通过键获取值,再重新对元素进行赋值。修改元素的操作与添加元素的操作相同。
#元素的修改
modify_dict = {'stu1': '小明', 'stu2': '小刚', 'stu3': '小兰'}
modify_dict['stu3'] = '刘婷'
modify_dict.update(stu2='张强')
print(modify_dict)
输出结果:
{'stu1': '小明', 'stu2': '张强', 'stu3': '刘婷'}
字典元素的删除
Python支持通过pop()、popitem()和clear()方法删除字典中的元素。
pop():根据指定键值删除字典中的指定元素
popitem():随机删除字典中的元素
clear():清空字典中的元素
5. 组合数据类型与运算
Python中针对数字类型的运算符对组合数据类型同样适用,包括‘'+'、'*'、'in'、'not in'。
字符串、列表和元组使用“ + ”运算符,会对数据进行拼接
字符串、列表和元组使用“ * ”运算符,会对数据进行整数倍拼接
“in”“not in”运算符称为成员运算符,用于判断某个元素是否属于某个变量