当前位置:   article > 正文

python_python 列表包含

python 列表包含

组合数据类型

集合、列表、元组、字典和范围等均属于组合数据类型。组合数据类型的对象是一个数组容器,可以包含多个有序或无序的数据项。

 

 

一、集合

1.基本特点

元素具有唯一、无序和不可改变等特点

2.表达形式

(1)声明一个集合:常量{} 内置函数 set()
(2)向集合中添加值: 如果是单个值,通过常量完成,如果是多个值通过内置函数完成

3.集合运算

4.集合基本操作

集合对象元素的值不支持修改,但是可以复制集合、为集合添加删除元素。

copy()

.复制集合对象

remove(item)/discard(item)

删除指定元素,删除不存在时会报错/删除不存在时不会报错

add(item)

添加一个元素

pop()

随机删除一个元素,并返回该元素

update({item1,item2,...})

添加多个元素

clear()

删除集合中的全部元素

集合元素是不可改变的,因此不能将可变对象放入集合中;集合、列表和字典对象均不能加入集合;元组可以作为一个元素加入集合。

二、列表

1.基本特点

列表常量用方括号表示

,也可以使用list()函数来创建,列表的主要特点如下:

  1. 列表可以包含任意类型的对象:数字、字符串、列表、元组或其他对象。
  2. 列表是一个有序序列,与字符串类似,可通过位置偏移量执行索引和分片操作。
  3. 列表是可变的。列表的长度可变,即可添加或删除列表成员。列表元素的值也可改变。
  4. 每个列表元素存储的是对象的引用,而不是对象本身,类似于C/C++的指针数组。

列表基本操作包括:创建列表、求长度、合并、重复、迭代、关系判断、索引和分片等。

  1. # 创建列表
  2. list1 = [1,2,3,4,5]
  3. print(list1)
  4. # 求长度
  5. print(len([1,2,3,4,5]) )
  6. # 合并
  7. print([1,2,3,4,5] + [20])
  8. # 重复
  9. print([1,2,3,4,5] * 5)
  10. # 关系判断
  11. print(2 in [1,2,3,4,5])
  12. # 索引
  13. list1 = [1, 2, 3, ['a', 'b', 'c']]
  14. list1[2] = 100
  15. print(list1[0], list1[2], list1[-1])
  16. # 分片,与字符串类似,可通过分片来获取列表中的连续多个数据,也可以通过分片将连续多个数据替换成新的数据。
  17. list1 = list(range(10))
  18. print(list1[2:5]) # [2, 3, 4]
  19. print(list1[2:]) # [2, 3, 4, 5, 6, 7, 8, 9]
  20. print(list1[:5]) # [0, 1, 2, 3, 4]
  21. print(list1[3:10:2]) # [3, 5, 7, 9]
  22. print(list1[10:3:-2]) # [9, 7, 5]
  23. list1[2:5] = 'abc'
  24. print(list1) # [0, 1, 'a', 'b', 'c', 5, 6, 7, 8, 9]
  25. list1[2:5] = [10, 20]
  1. # 声明一个列表
  2. list1 = []
  3. # 追加元素
  4. list1.append(12)
  5. list1.append(3)
  6. list1.append(1)
  7. # 修改指定索引的元素值
  8. list1[0] = 100
  9. # 移除元素
  10. list1.remove(100)
  11. # 反转
  12. list1.reverse()
  13. # 排序,默认升序
  14. list1.sort()
  15. list1.sort(reverse=True)
  16. print(len(list1) , list1)

2.常用的列表方法

append(item)

在列表末尾添加一个数据

del

删除列表中指定数据或分片

extend(item)

在列表末尾添加多个数据,参数为可迭代对象

clear()

删除列表中的全部数据

insert(index,item)

在指定位置插入数据

copy()

复制列表对象

remove(item)

用于删除列表中的指定值,如果有重复值,则删除第1个

reverse()

将列表中数据的位置反转

pop([index])

用于删除指定位置的对象,省略位置时删除列表的最后一个对象,同时返回被删除的对象

sort([key=func, reverse=True/False])

将列表排序,若列表对象全部是数字,则将数字从小到大排序。若列表对象全部是字符串,则按字典顺序排序。它还支持自定义排序,可用key参数指定一个函数,sort方法将列表元素作为参数调用该函数,用函数返回值代替列表元素完成排序。

三.元组

1.基本特点与操作

元组可以看作是不可变的列表,它的使用与字符串类似。元组常量用圆括号表示,例如:(1,2)('a','b','c'),也可以使用tuple()方法来创建元组对象。元组的主要特点如下:

  • 元组可包含任意类型的对象。
  • 元组是有序的,元组中的对象可通过位置进行索引和分片。
  • 元组的大小不能改变,即不能为元组添加对象,也不能删除元组中的对象。
  • 元组中存储的是对象的引用,而不是对象本身。

元组的基本操作包括:创建元组、求长度、合并、重复、迭代、关系判断、索引和分片等。

  1. # 创建元组
  2. 声明方式:t1 = (1,) 如果只有一个值,则需要加上一个逗号,否则就是int类型
  3. t1 = tuple(序列)
  4. print((2,)) # 包含一个对象的元组,不能缺少逗号 (2,)
  5. print(tuple('abcde')) # 参数为可迭代对象 ('a', 'b', 'c', 'd', 'e')
  6. print(tuple(item * 2 for item in range(5))) # 使用解析结构创建元组 (0, 2, 4, 6, 8)
  7. # 求长度
  8. print(len((1, 2, 3, 4, 5))) # 5
  9. # 合并
  10. t1 = (1, 2) + ('ab', 'cd') + (2.45,) # (1, 2, 'ab', 'cd', 2.45)
  11. print(t1)
  12. # 重复
  13. print((1, 2) * 3) # (1, 2, 1, 2, 1, 2)
  14. # 关系判断
  15. print(2 in t1) # True
  16. # 索引和分片
  17. t2 = tuple(range(10)) # (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
  18. print(t2[1]) # 1
  19. print(t2[-1]) # 9
  20. print(t2[2:5]) # (2, 3, 4)
  21. print(t2[2:]) # (2, 3, 4, 5, 6, 7, 8, 9)
  22. print(t2[:5]) # (0, 1, 2, 3, 4)
  23. print(t2[1:7:2]) # (1, 3, 5)
  24. print(t2[7:1:-2]) # (7, 5, 3)
  25. # 统计指定值出现的次数,如果不包含指定值时,返回0
  26. t3 = (1, 2) * 4
  27. print(t3.count(1)) # 4
  28. # 查找指定范围内元素所在的索引
  29. print(t3.index(2)) # 1
  30. print(t3.index(2, )) # 1
  31. print(t3.index(2, 2, 7)) # 3

2.函数

len()

求长度

max()

求最大值

min()

求最小值

四.字典

1.基本特点与操作

字典是一种无序的映射集合,包含一系列的键:值对。字典常量用大括号表示,例如,{'name':'John','age':25,'sex':'male'},也可以使用dict()函数来创建。其中,字符串nameagesex为键,字符串Johnsex以及数字25为值。字典的主要特点如下:

  • 字典的键名称通常采用字符串,也可以用数字、元组等不可变的类型。
  • 字典的值可以是任意类型。
  • 字典也可称为关联数组或散列表,它通过键映射到值。字典是无序的,它通过键来访问映射的值,而不是通过位置来索引。
  • 字典属于可变映射,可修改键映射的值。
  • 字典长度可变,可为字典添加或删除键:值对。
  • 字典可以任意嵌套,即键映射的值可以是一个字典。
  • 字典存储的是对象的引用,而不是对象本身。

字典的基本操作包括创建字典、求长度、关系判断和索引等。

  1. # 创建字典
  2. 声明方式: d1 = {key:val,key:val,...}
  3. d2 = dict(name='马化腾',age=64)
  4. d3 = dict([('name','Tom'),('age',22)])
  5. # 求长度
  6. print(len({'name': 'John', 'age': 25, 'sex': 'male'})) # 返回字典长度,即“键:值”对的个数
  7. # 关系判断 - 判断字典是否包含某个键
  8. print('name' in {'name': 'John', 'age': 25, 'sex': 'male'}, # True
  9. 'date' in {'name': 'John', 'age': 25, 'sex': 'male'}) # False
  10. # 索引
  11. dict13 = {'book': {'Python编程': 100, 'C++入门': 99}, 'publish': '人民邮电出版社'}
  12. print(dict13['book']) # {'Python编程': 100, 'C++入门': 99}
  13. print(dict13['book']['Python编程']) # 100
  14. dict13['publish'] = '清华大学出版社' # 通过索引修改映射值
  15. dict13['phone'] = 12345678900 # 为不存在的键赋值,为字典添加“键:值”对
  16. del dict13['book']['C++入门'] # 删除“键:值”对

2.常用方法

clear()

删除全部字典对象

copy()

复制字典对象

get(key[,default])

返回键 key映射的值。如果键key不存在,返回空值,可用default参数指定键不存在时的返回值。

pop(key[,default])

从字典中删除键值对,并返回被删除的映射值。若键不存在,则返回default。若键不存在且未指定default参数时,删除键会出错。

popitem()

从字典中删除键值对,同时返回被删除的键值对元组。空字典调用该方法会产生KeyError错误。

setdefault(key[,default])

用于返回映射值或者为字典添加键值对。指定的键key在字典中存在时,返回其映射值。若指定的键key不存在,则将键值对key:default添加到字典中。省略default时,添加的映射值默认为None

update(other)

update()方法用于为字典添加键值对。参数other可以时另一个字典或用赋值格式表示的元组。若字典已存在同名的键,则该键的映射值被覆盖。

items()

返回键值对视图,视图对象支持迭代操作,不支持索引。当字典对象发生改变时,字典视图可实时反映字典的改变

keys()

返回字典中所有键的视图

values()

返回字典中全部值的视图

 
  1. x = dict(name='Tom', age=25)
  2. y = x
  3. # 复制字典对象
  4. yc = x.copy()
  5. print(y is x, yc is x) # 判断是否引用相同对象 True False
  6. # 获取或添加
  7. print(x.setdefault('name')) # 返回指定键的映射值 Tom
  8. print(x.setdefault('sex')) # 键不存在,为字典添加“键:值”对,映射值默认为None None
  9. print(x.setdefault('addr', 'CQ')) # 添加“键:值”对 CQ
  10. print(x) # {'name': 'Tom', 'age': 25, 'sex': None, 'addr': 'CQ'}
  11. # 添加或修改
  12. x.update({'age': 30, 'sex': '女'}) # 添加“键:值”对,并覆盖同名键的映射值
  13. print(x) # {'name': 'Tom', 'age': 30, 'sex': '女', 'addr': 'CQ'}
  14. x.update(name='Mike') # 修改映射值
  15. x.update(code=110, tel='123456') # 添加“键:值”对
  16. print(x) # {'name': 'Mike', 'age': 30, 'sex': '女', 'addr': 'CQ', 'code': 110, 'tel': '123456'}
  17. # 删除指定key的键值对象
  18. print(x.pop('name')) # 删除键并返回映射值 Mike
  19. print(x.pop('id', 'xxx')) # 删除不存在的键,返回default参数值 xxx
  20. # print(x.pop('other')) # 删除不存在的键,未指定default参数,出错 KeyError: 'other'
  21. # 删除字典元素,并以元组的形式返回删除的元素,如果字典为空,则报错 KeyError: 'popitem(): dictionary is empty'
  22. print(x.popitem()) # ('tel', '123456')

总结

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/208071
推荐阅读
相关标签
  

闽ICP备14008679号