五、Python常用数据结构

时间:2021-6-7 作者:qvyue

列表

列表的定义

五、Python常用数据结构
image.png

列表的特性

五、Python常用数据结构
image.png

五、Python常用数据结构
image.png
  1. 注意:insert、remove或者sort方法,只修改列表,没有打印出返回值——它们的返回值默认为None。这是Python中所有可变数据结构的设计原则。
  2. 并非所有数据都可以排序或比较(比如字符串和数字等)。
list1 = [1,2,3,6,2]
list1.append(0) #在末尾添加
list1.insert(1,5) #在索引为1位置为2的地方添加5
list1.remove(3) #删除第一个值为3
pop_value = list1.pop(1) #删除索引为1即位置为2的值
print(pop_value) #pop_value即为pop方法删除的值
list1.sort() #把值从小到大排序
list1.sort(reverse=True) #把值从大到小排序
list1.reverse() #将整个列表反转,结果为[2,6,3,2,1]

列表推导式

五、Python常用数据结构
image.png
# 练习题
# for循环
list2 = []
for i in range(1,4):
    list2.append(i**2)
print(list2)

# 列表推导式
list3 = [i**2 for i in range(1,4)]
print(list3)
  • 列表推导式写判断循环:list1 = [i**2 for i in range(1,4) if i!=1],执行结果为[4,9]
  • 列表推导式写嵌套循环:list2 = [i*j for i in range(1,4) for j in range(1,4)],执行结果为[1,2,3,2,4,6,3,6,9]

嵌套循环练习题:打印出九九乘法表

# 九九乘法表
for i in range(1,10):
    print()
    for j in range(1,i+1):
        print(f'{i}*{j}={i*j}', end='  ')

结果:

五、Python常用数据结构
image.png

元组

五、Python常用数据结构
image.png

元组的定义

tuple1 = (1,2,3)tuple2 = 1,2,3

# 元组的定义
tuple1 = (1,2,3)
tuple2 = 1,2,3
print(tuple1,type(tuple1))
print(tuple2,type(tuple2))
五、Python常用数据结构
image.png

元组的不可变特性

元组不可变特性是指变量指针地址不可变,如果元组中嵌套列表,则其中的列表是可变的。

# 元组的不可变特性
a = [1,2,3]
tuple_nochange =(1,2,3)
tuple_change = (1,2,a) #其中元素a是列表,它是可变的,但是它的变量指针地址是唯一的
tuple_change[2][1] = 'a'
print(tuple_change) # 结果为(1,2,[1,'a',3])
# 获取变量指针
print(id(tuple_change[2]))

元组的内置函数

  • count:计算某个元素在元组中出现的次数tuple1.count('a')
  • index:获取某个元素在元组中第一次出现的索引tuple1.index('a')

Tips:定义只有一个元素的元组需要加上逗号,因为python中一个(1)表示一个数,所以定义只有一个元素的元组可以这样a=(1,)

集合

五、Python常用数据结构
image.png
  • 定义集合:a = {1}
  • 定义空集合:b = set()

常用内置函数

定义两个集合:a={1,2,3},b={1,4,5}

  • union:取两集合的并集a.union(b),结果为{1,2,3,4,5}
  • intersection:取两集合的交集a.intersection(b),结果为{1}
  • difference:取两集合的差集,即“我有你没有”,a.difference(b),结果为{2,3}
  • add:添加集合的值,a.add("a"),结果为{1,2,3,'a'}

集合推导式

例子:print({i for i in "aaabsojfoijasodijfo"}),结果是去掉重复值的集合,以此推出集合的去重功能。

字典

字典的定义

五、Python常用数据结构
image.png
  • 定义:dict1 = {"a":1,"b":2}dict2 = dict(a=1,b=2),结果都为{'a':1,'b':2}

常用内置函数

  • a.keys()':获取字典的所有key值,结果为dict_keys([‘a’,’b’])`注意字典里面的key是不可变的
  • a.values():获取字典的所有value值,结果为dict_values([1,2])
  • c=a.pop("a"):删除掉key=‘a’的键值对并赋值给其他变量c
  • a.popitem():随机删除字典的一个键值对,并返回删除的键值对。
  • 首先定义一个空字典a={}b=a.fromkeys((1,2,3),'c'):fromkeys() 将1,2,3分别作为key传给b,c作为key的value,b的值为{1:'c',2:'c',3:'c'}

字典推导式

  • {i: i*2 for i in range(1,3)},结果为:{1:2,2:4}

下一节:Python模块,包括项目目录结构、模块定义、文件引用。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。