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))
结果如下:
集合中元素的增加以及删除:



