栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python组合数据类型

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python组合数据类型

数据类型:列表、元组、字典、集合

Python中的序列支持双向索引:正向递增索引和反向递减索引

正向递增索引从左向右依次递增,第一个元素的索引为0,第二个元素的索引为1,以此类推;

反向递减索引从右向左依次递减,从右数第一个元素的索引为-1,第二个元素的索引为-2,以此类推。

 

 


列表 
  • 列表:可以直接使用中括号“[]”创建,也可以使用内置的list()函数快速创建。
  • 列表中的元素可以各不相同,可以是任意类型
  • 列表属于可变序列,可以任意修改列表中的元素。
列表的创建与切片: 
# 列表,属于可变类型 list
list1= ['大海', 1, 1.2, ['小海', 2]]
print(list1)
# 列表的切片
# 默认步长为1
print(list1[1: 4: 2])

结果如下:

['大海', 1, 1.2, ['小海', 2]]
[1, ['小海', 2]]
列表元素的修改 ,长度计算及成员运算:
# 修改元组元素
list1[0] = '红海'
print(list1)
# 计算元组长度
# len()
print(len(list1))
# 成员运算 in和not in
# 结果输出True,False
print('小海' in list1)
print(['小海', 2] in list1)

 结果如下:

['红海', 1, 1.2, ['小海', 2]]
4
False
True
查看元素的个数 :
# 查看列表中某个元素的个数 count
print(list1.count(['小海', 2]))
# 索引查找 在列表中查看某个元素的位置 index(查询元素,起始位置,结束位置)不写则默认全位置查找
# 如果指定位置内没有查找内容则程序会报错
list1= ['大海', 1, 1.2, ['小海', 2]]
print(list1.index(1.2, 2, 4))

结果如下:

1
2
增加元素:
# 增加元素
# append (元素)只能在列表末尾增加一个元素
list1.append('橙海')
print(list1)
# insert (索引,元素)在指定索引位置插入一个元素
list1.insert(0, '蓝海')
list1.insert(2, '绿海')
print(list1)
# extend([元素])在列表末尾插入多个元素
list1.extend([2023, '十年'])
print(list1)

结果如下:

['大海', 1, 1.2, ['小海', 2], '橙海']
['蓝海', '大海', '绿海', 1, 1.2, ['小海', 2], '橙海']
['蓝海', '大海', '绿海', 1, 1.2, ['小海', 2], '橙海', 2023, '十年']
删除:
# 删除
# del 删除指定索引的元素
del list1[4]
print(list1)
# 指定删除 remove
L.remove(1)
print(list1)
# pop删除 从列表中拿走一个值
# 如果不指定值则会默认从最后一个开始取
a = list1.pop(3)
print(list1)
print(a)

结果如下:

['蓝海', '大海', '绿海', 1, ['小海', 2], '橙海', 2023, '十年']
['蓝海', '大海', '绿海', ['小海', 2], '橙海', 2023, '十年']
['蓝海', '大海', '绿海', '橙海', 2023, '十年']
['小海', 2]
列表的排序与反序:
# 列表排序 sort(reverse=True(反序)/False(正序)) 默认正序
l_num=[4, 1, 34, 1.2, 2.2, 3, 1]
l_num.sort(reverse=False)
print(l_num)
# 列表反序 reverse
l_num.reverse()
print(l_num)

结果如下:

[1, 1, 1.2, 2.2, 3, 4, 34]
[34, 4, 3, 2.2, 1.2, 1, 1]
清空列表: 
# 清空列表 clear
list1.clear()
print(list1)

结果如下:

[]

元组
  • 元组:可使用()构建元组,还可以使用内置函数tuple()构建元组。
  • 元组属于不可变序列,不能修改元组中的元素。
  • 元组中元素的个数、类型不受限制。
  • 索引,切片,长度len,成员运算in not in,个数count,index索引查找都与列表方法相同
 元组的创建与元组中列表元素的修改:
# 用()创建元组
tup = ('大海', 1, 1.2, ['小海', 2])
print(tup)
'''
使()创建元组时,如果元组中只包含一个元素,则需在该元素的后面添加逗号,从而保证Python解释器能够识别其为元组类型。
'''
tup1=('python',)
print(tup1)
# 元组中列表元素的修改
# 元组中的元素不能通过索引修改,但是能修改元组中的列表
# 利用正向索引修改索引为3的第二个元素
tup[3][1] = '红海'
print(tup)

结果如下:

('大海', 1, 1.2, ['小海', 2])
('python',)
('大海', 1, 1.2, ['小海', '红海'])
如果要修改元组中的元素可将元组转化为列表进行改变,再将列表强制转换为元组  
list2 = list(tup)# 将元组转换为列表
list2[1] = '蓝海' # 将列表中索引为1的元素修改为蓝海
tup = tuple(list2) # 将修改后的列表再次转换为元组
print(tup) # 输出元组

输出结果如下:

('大海', '蓝海', 1.2, ['小海', '红海'])

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

生成字典:

k = {'x': 1, 'y': 2}
# 打印x的value值
print(k['x'])
# 打印y的value值
print(k['y'])
# 输出字典
print(k)

结果如下:

1
2
{'x': 1, 'y': 2}
 元素的添加:
  • 字典支持通过为指定的键赋值或使用update()方法添加或修改元素
# 通过键添加元素
# 直接在末尾增加一个不存在的key值和value元素
K ['z'] = 3
print(K)
# 使用update()添加元素
K.update({'e':3})
print(K)

 结果如下:

{'x': 1, 'y': 2, 'z': 3}
{'x': 1, 'y': 2, 'z': 3, 'e': 3}
# setdefault增加新值
# 有则不动,返回原值;无则增加,返回新值
c=k.setdefault('x','29')
print(k)
print(c)
d=k.setdefault('z','29')
print(k)
print(d)

 结果如下:

{'x': 1, 'y': 2, 'x': '29'}
29
{'x': 1, 'y': 2, 'x': '29', 'z': '29'}
29
元素的修改:
  • 修改字典元素的本质是通过键获取值,再重新对元素进行赋值。修改元素的操作与添加元素的操作相同。

元素的删除 :
  • 通过pop()、popitem()和clear()方法删除字典中的元素
# 1.通用del
del K['x']
print(K)
# 2.pop删除,取出字典中的value元素
a=K.pop('y')
print(K)
print(a)
# 如果取出的是不存在的值则会报错
# 3.popitem 取出最后一对键值对
b = K.popitem()
print(K)
# 返回的是元组
print(b)

 结果如下:

{'y': 2, 'z': 3, 'e': 3}
{'z': 3, 'e': 3}
2
{'z': 3}
('e', 3)
 查找与取出:
print(k['x'])
# # 查不存在的key值则会报错
# print(k['c'])
# get 查找不存在的key值不会报错
print(k.get('c'))
# 取出所有的key值
sre = k.keys()
print(sre)
print(list(sre))
# 取出所有的value值
sre1 = k.values()
print(sre1)
print(list(sre1))
# 取出所有的键值对
sre2 = k.items()
print(sre2)
print(list(sre2))
# 直接取出则输出键值对
print(k)

结果如下:

1
None
dict_keys(['x', 'y', '1x', 'z'])
['x', 'y', '1x', 'z']
dict_values([1, 2, '29', '29'])
[1, 2, '29', '29']
dict_items([('x', 1), ('y', 2), ('1x', '29'), ('z', '29')])
[('x', 1), ('y', 2), ('1x', '29'), ('z', '29')]
{'x': 1, 'y': 2, '1x': '29', 'z': '29'}
清空字典: 
  •  K.clear()

集合
  • 集合(set)本身是可变类型,但Python要求放入集合中的元素必须是不可变类型。
  • 大括号“{}”或内置函数set()均可构建集合。
  • 使用{}不能创建空集合(不包含元素的{}创建的是字典变量),空集合只能利用set()函数创建。
集合的创建: 
set_demo1 = {} # 空字典
set_demo2 = set() # 空集合
print(type(set_demo1))
print(type(set_demo2))

结果如下:



集合中元素的增加以及删除:

 


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664464.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号