一、通用序列操作

1、索引

  • 索引从0开始,从左往右编号;
  • 索引也可以从-1开始,从右向左编号;

Python--数据结构_元组


Python--数据结构_python_02


2、切片

  • 切片需要两个索引作为边界,第一个索引的元素包含在切片内(闭区间),第二个索引的元素不包含在切片内(开区间);
  • 切片索引值有默认值,第一个索引默认值为序列头索引,第二个索引默认值为序列尾索引;
  • 切片也支持负数,也就是按从右向左的顺序的索引获取切片;
  • 序列的切片索引下标可以超出它真实的索引长度;
  • 切片第三个参数为步长,步长不支持0,默认情况下步长为1;
  • 步长为负数是从尾部开始获取元素,直到第一个元素为止;

Python--数据结构_默认值_03


Python--数据结构_元组_04


3、序列相加

序列之间可以使用​​+​​(加号)进行连接操作,不同的序列是不能做连接的

Python--数据结构_元组_05


Python--数据结构_元组_06


4、序列重复

在Python中,可以使用​​*​​(星号)做“乘法”,实现序列重复

Python--数据结构_默认值_07


Python--数据结构_默认值_08


5、成员资格

成员资格是指判断一个元素是否包含在序列中,Python中使用运算符"​​in​​​"来判断,运算符会判断左边的元素是否包含在右边的序列中,如果包含则返回​​true​​​,不包含则返回​​false​

Python--数据结构_元组_09

Python--数据结构_默认值_10

注意:只有当元素的类型和子都完全一致,才算是包含在序列中,比如数字​​5​​​和字符串​​"5"​​就是两种不同的元素


6、长度、最小值、最大值、求和

Python--数据结构_python_11


Python--数据结构_元组_12


二、列表(和C里的数组一样)

列表可以通过索引获取其中的单个元素,也可以通过索引更新其中的元素,使用方法就和变量赋值一样方便

Python--数据结构_python_13


Python--数据结构_python_14


列表常用操作

列表操作

方法

示例

追加一个元素

append()

x1.append(“Hello”)

追加多个元素

extend()

x1.extend([6,7])

插入元素

insert()

x1.insert(2,100)

删除指定位置的元素,并返回其值,默认最后一个

pop()

x1.pop(2)

根据元素内容删除元素

remove()

x1.remove(6)

使用关键字​​del​​删除列表元素

del

del x1[2]

查找元素

index()

x1.index(5)

反转队列

reverse()

x1.reverse()

统计元素在列表中的个数

count ()

x1.count(5)

对列表进行排序

sort()

x1.sort()

# 列表
x1=[1,2,3,4]
print("列表")
print(x1)

print("------------")
print("追加 5")
x1.append(5)
print(x1)

print("------------")
print("追加[6,7]")
x1.extend([6,7])
print(x1)

print("------------")
print("在第2个位置插入100")
x1.insert(2,100)
print(x1)

print("------------")
print("删除第2个位置的元素")
x1.pop(2)
print(x1)

print("------------")
print("删除元素6")
x1.remove(6)
print(x1)

print("------------")
print("使用关键字 del 删除第2个位置的元素")
del x1[2]
print(x1)

print("------------")
print("查找元素4的索引值")
x1.index(4)
print(x1.index(4))

print("------------")
print("反转队列")
x1.reverse()
print(x1)

print("------------")
print("统计元素5在列表中的个数")
print(x1.count(5))

print("------------")
print("对列表排序")
x1.sort()
print(x1)

Python--数据结构_python_15


三、元组

元组与列表十分相似,大部分方法通用,但是元组与列表最大的区别是列表可以修改、可以读取、可以删除,而元组创建之后则不能修改,不能删除单个元素,但是可以删除整个元组。

1、定义元组

元组定义和列表类似,定义元组只需要用括号"(“和”)“把元素括起来,并用”,"把元素隔开就可以

注意:如果元组只有一个元素,则这个元素后面必须要有",",否则元素就还是其原来的类型

# 元组
print("定义元组")
x1=(1,2,3,4)
print(x1)

x2=(10)
print(x2)

x3=(10,)
print(x3)

Python--数据结构_默认值_16


2、删除元组

由于元组不能修改,所以元组也不能单独删除部分元素,要删除只能删除整个元组。

# 元组
print("定义元组")
x1=(1,2,3,4)
print(x1)

x2=(10)
print(x2)

x3=(10,)
print(x3)

print("----------------")
print("删除元组")
del x1
del x2
del x3
print(x1)

Python--数据结构_python_17


3、元组的其它操作

元组虽然不能修改,但是列表所支持的查询方法基本上元组都支持。也正是因为元组不能修改,所以元组的查询速度要比列表快。

  • count:统计某个元素在元组中出现的次数;
  • index:查找元素在元组中的索引位置;

四、字典

字典的元素是成对(键:值)出现的,字典的键必须是唯一、不重复的,如果是空字典(一个元素都没有),则可以直接使用"{}"表示。

1、定义字典

# 字典
print("定义字典")
English = {
"we" : "我们",
"world" : "世界",
"company" : "公司"
}
print(English)

x = {}
print(x)

Python--数据结构_python_18


2、使用字典
在Python中,字典其实就是一组键值对。访问字典跟查字典一样,需要用键去“查找”值。

注意

  • 使用不存在的键查找时,解释器会显示错误信息;
  • 字典和列表一样,都是一种可修改的结构;
  • 字典新增元素和修改元素的语法一样;
  • 使用关键字​​del​​删除字典的元素
# 字典
print("定义字典")
English = {
"we" : "我们",
"world" : "世界",
"company" : "公司"
}
print(English)

print("----------------")
print("访问字典元素:English['world']")
print(English["world"])
# print(English["Hello"])

print("----------------")
print("修改字典元素")
English["company"]="伙伴"
print(English)

print("----------------")
print("增加字典元素")
English["china"]="中国"
print(English)

print("----------------")
print("删除字典元素")
del English["company"]
print(English)

Python--数据结构_python_19


3、字典的其它操作

操作

方式

示例

清空字典中的所有元素

clear()

x1.clear()

完整的复制一个新的字典副本

copy()

x1.copy()

用序列中的元素作为键,创建一个新的字典

fromkeys

x1.fromkeys(x2)

返回键对应的值,如果不存在,则返回默认值

get()

x1.get(“we”)

返回一个键列表

keys()

x1.keys()

返回一个值列表

values()

x1.values()

返回一个包含所有键和值的列表

items()

x1.items()

# 字典
print("定义字典:")
English = {
"we" : "我们",
"world" : "世界",
"company" : "公司"
}
print(English)

print("------------------------------------")
print("复制字典:")
temp = English.copy()
print(temp)

print("------------------------------------")
print("用序列中的元素作为键,创建一个新的字典:")
x1=['a','b','c']
x2=dict.fromkeys(x1)
x3=dict.fromkeys(x1,10)
print("x2:",x2)
print("x3:",x3)

print("------------------------------------")
print("返回键对应的值:")
print(English.get("we"))
print(English.get("Hello"))

print("------------------------------------")
print("返回一个键列表:")
print(English.keys())

print("------------------------------------")
print("返回一个值列表:")
print(English.values())

print("------------------------------------")
print("返回一个包含所有键和值的列表:")
print(English.items())

Python--数据结构_python_20


五、集合

集合与列表的行为类似,唯一的区别在于集合不会包含​​重复​​的值。

1、定义集合

  • 如果是空集合(不包含任何元素的集合),必须使用set()定义;
  • 如果包含元素,则可以使用或括号"{}"定义集合,也可以使用set加上列表来定义;
# 集合
print("定义集合:")
empty = set()
print("空集合",empty)

number={1,2,3}
print("数字集合",number)

mix = set([1,"您好",3.14])
print("混合类型集合",mix)

Python--数据结构_默认值_21


2、集合操作

操作

方式

示例

在集合中添加新元素

add()

x1.add(3)

删除集合中的元素

remove()

x1.remove(3)

# 集合
print("定义集合:")
number={1,2,3}
print("数字集合",number)

print("-----------------------")
print("向集合中新增元素:")
number.add(3)
number.add(30)
print(number)

print("-----------------------")
print("删除集合中的元素:")
number.remove(30)
print(number)

Python--数据结构_python_22


Python中的集合可以看成数学意义上的无序和无重复元素的集合,并且Python自带的集合类型支持很多数学意义上的集合操作,例如:

# 集合
x1 = {1,3,5}
x2 = {2,7,1,3}

print("x1: ",x1)
print("x2: ",x2)
print("交集: ",x1 & x2)
print("并集: ",x1 | x2)
print("差集: ",x1 - x2)
print("对称集: ",x1 ^ x2)

Python--数据结构_元组_23