- 元组简介
- 字典简介
- 字典的创建
- 1. 用{}创建
- 获取value, 直接用 dict[key]
- 蛤蟆功
- 2. 使用dict类去创建字典
- {‘name’: ‘郭靖’, ‘age’: 18, ‘sex’: ‘男’}
- 3. 使用dict去创建
- python2 有序字典 orderdict 无序字典
- 需要dict()括号里的数据是属于一种双值子序列的形式
- 双值序列 [1, 2]
- 子序列 (’a’)
- 双值子序列: [(1, 2), (3, 4)]
- 通过key来遍历 dict.keys(),获取的是value
- 男
- 通过value来遍历 dict.values()
- 男
- 通过一项来进行遍历 dict.items()
- 集合只能存储不可变对象
- TypeError: unhashable type: ‘list’
- 集合中存储的对象是无序的
- {8, 9, 10, 6} # 无序输出
- 集合不能出现重复元素 通过这一特性,我们可以来做一个数据去重的效果
- {‘1’}
- {1, 2, 3, 4, 5, 6, 7}
- {3, 4}
- remove() 删除集合中指定的元素
- clear() 清空集合
- 集合的运算
- & 交集运算
- | 并集运算
- - 差集运算
- ^ 亦或集
元组简介
- 元组表现形式tuple
- 元组是一个不可变序列(一般当我们希望数据不改变时,我们使用元组,其他情况下基本都用列表)
- 使用()创建元素
- 元组不是空元组至少有一个 逗号(,) 当元组不是空元组时括号可以省略
- 元组解包指将元组当中的每一个元素都赋值给一个变量
- 与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。
- 所谓元组的不可变指的是元组所指向的内存中的内容不可变。
# 元组的表达形式 () tuple# 元组的创建与访问tuple1 = (1, 2, 3, 4, 5)print(tuple1, type(tuple1))print(tuple1[2])print(tuple1[2::])tup2 = ('Google', 'Runoob', 1997, 2000)tup3 = "a", "b", "c", "d" # 不需要括号也可以print(tup2)print(tup3, type(tup3))-------------------(1, 2, 3, 4, 5) <class 'tuple'>3(3, 4, 5)('Google', 'Runoob', 1997, 2000)('a', 'b', 'c', 'd') <class 'tuple'>=========================================# 如果元组不是一个空元祖,那么它必须得有一个逗号, 否则括号会被当作运算符使用tuple2 = 10,tuple3 = (10)print(tuple2, type(tuple2))print(tuple3, type(tuple3))---------------(10,) <class 'tuple'>10 <class 'int'>===========================================#元组中的元素值是不允许修改的,但我们可以对元组进行连接组合tup1 = (12, 34.56)tup2 = ('abc', 'xyz')# 以下修改元组元素操作是非法的。# tup1[0] = 100# 创建一个新的元组tup3 = tup1 + tup2print(tup3)---------------------(12, 34.56, 'abc', 'xyz')=========================================================# 元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组tup = ('Google', 'Runoob', 1997, 2000)print(tup)del tupprint("删除后的元组 tup : ")print(tup)------------------NameError: name 'tup' is not defined('Google', 'Runoob', 1997, 2000)删除后的元组 tup :进程已结束,退出代码1===============================================元组的运算print(len((1, 2, 3)))print((1, 2, 3) + (4, 5, 6))print(('Hi!',) * 4)print(3 in (1, 2, 3))for x in (1, 2, 3):print(x,)-----------------------------3(1, 2, 3, 4, 5, 6)('Hi!', 'Hi!', 'Hi!', 'Hi!')True123========================================元组内置函数len(tuple) #计算元组元素个数max(tuple) #返回元组中元素最大值min(tuple) #返回元组中元素最小值tuple(iterable) #将可迭代系列转换为元组list1= ['Google', 'Taobao', 'Runoob', 'Baidu']tuple1=tuple(list1)print(tuple1)-----------------------------('Google', 'Taobao', 'Runoob', 'Baidu')==================================元组不可变tup = ('r', 'u', 'n', 'o', 'o', 'b')#tup[0] = 'g' # 不支持修改元素print(id(tup)) # 查看内存地址tup = (1,2,3)print(id(tup))-------------------29561702776002956170819008
字典简介
字典的基本介绍
- 字典属于一种新的数据结构称为映射(mapping)
- 字典的作用和列表类似,都是用来存储对象的容器
- 列表存储数据的性能好,但是查询数据的性能差,字典正好与之相反
- 在字典中每一个元素都有唯一的名字,通过这个唯一的名字可以找到指定的元素
- 这个唯一的名字我们称之为key 通过key可以快速查询value 也可以称之为值
- 字典我们也称之为键值对(key-value)结构
- 字典的每个键值 key-value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中
- 每个字典中都可以有多个键值对,而每一个键值对我们称其为一项(item)
创建一个有数据的字典 语法 {key:value}, 例如
d = {key1 : value1, key2 : value2, key3 : value3 }
字典的值可以是任意对象 字典的键可以是任意的不可变对象(int str bool tuple….)
- 字典的键是不能重复的,如果出现重复的后面的会替换前面的
```python
字典的创建
1. 用{}创建
dict2 = { ‘name’: ‘郭靖’, ‘age’: 18, ‘sex’: ‘男’, ‘name’: ‘欧阳锋’, ‘skill’: ‘蛤蟆功’ } print(dict2, type(dict2))
获取value, 直接用 dict[key]
print(dict2[‘skill’])
{‘name’: ‘欧阳锋’, ‘age’: 18, ‘sex’: ‘男’, ‘skill’: ‘蛤蟆功’}
蛤蟆功
2. 使用dict类去创建字典
dict1 = dict(name=’郭靖’, age=18, sex=’男’)
print(dict1, type(dict1))
{‘name’: ‘郭靖’, ‘age’: 18, ‘sex’: ‘男’}
3. 使用dict去创建
python2 有序字典 orderdict 无序字典
需要dict()括号里的数据是属于一种双值子序列的形式
双值序列 [1, 2]
子序列 (’a’)
双值子序列: [(1, 2), (3, 4)]
dict2 = dict([(‘name’, ‘郭靖’), (‘age’, 18), (‘sex’, ‘男’)])
print(dict2, type(dict2))
{‘name’: ‘郭靖’, ‘age’: 18, ‘sex’: ‘男’}
<a name="RtAIz"></a>### 字典的使用- dict()函数来创建字典- get(key[,default]) 根据键来获取字典的值。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值- update() 将其他字典的key-value添加到当前的字典当中- del 删除字典中的key-value- popitem() 删除字典最后的一个key-value 这个方法是有返回值的。删除之后它会将删除的key-value作为返回值返回- pop(key[,default]) 根据key删除自定中的value。第二个参数可以指定一个默认值,当获取不到值的时候会返回默认值- in, not in 检测的是key```python# in, not indict1 = dict(name='郭靖', age=18, sex='男')# print(len(dict1))# in, not in 检测的是keyprint('name' in dict1)print(18 in dict1)----------------------------TrueFalse================================# 获取值得方式# 使用key获取value dict[key] 如果不存在key则会报错dict1 = dict(name='郭靖', age=18, sex='男')print(dict1.get('name'))print(dict1.get('skill'))#如果key不存在,不会报错-----------------郭靖None====================================# 修改字典# dict[key] = valuedict1 = dict(name='郭靖', age=18, sex='男')dict1['name'] = '欧阳锋'print(dict1)------------------{'name': '欧阳锋', 'age': 18, 'sex': '男'}=============================================# dict.setdefault(key, [default]) 向字典中添加key-value# 如果这个key已经存在于字典中,不会对字典有影响, 如果不存在,则向字典中添加这个key,并设置value, 返回valuedict1 = dict(name='郭靖', age=18, sex='男')result = dict1.setdefault('name', '欧阳锋')result = dict1.setdefault('skill', '降龙十八掌')print(result)print(dict1)-----------------------------降龙十八掌{'name': '郭靖', 'age': 18, 'sex': '男', 'skill': '降龙十八掌'}==================================================# dict.update() 将其他字典中的key—value添加到当前字典中d1 = {'1': 1}d2 = {'2': 2}d1.update(d2)print(d1)------------------{'1': 1, '2': 2}==========================================# 删除# del 关键字删除,则删除key-value对dict1 = dict(name='郭靖', age=18, sex='男')print(dict1)del dict1['name']print(dict1)--------------------------{'name': '郭靖', 'age': 18, 'sex': '男'}{'age': 18, 'sex': '男'}=============================================# dict.popitem() 随机删除一个键值对,一般都会删除最后一个, 有一个返回值,就是你删除的对象,结果是一个元组dict1 = dict(name='郭靖', age=18, sex='男')result = dict1.popitem()print(result)print(dict1)----------------------('sex', '男'){'name': '郭靖', 'age': 18}===================================================# dict.pop(key,[default]) 根据key来删除键值对, 返回值就是你删除key对应的valuedict1 = dict(name='郭靖', age=18, sex='男')result1 = dict1.pop('sex')result2 = dict1.pop('skill', '你删除的这个不存在') # 没有键值,也返回要删的值print(result1)print(result2)print(dict1)---------------------男你删除的这个不存在{'name': '郭靖', 'age': 18}====================================================# dict.clear() 清空字典dict1 = dict(name='郭靖', age=18, sex='男')print(dict1)dict1.clear()print(dict1)-----------------------------------{'name': '郭靖', 'age': 18, 'sex': '男'}{}================================================# list.clear() 清空列表list1 = [1, 2, 3, 4, 5]print(list1)list1.clear()print(list1)----------------------------------[1, 2, 3, 4, 5][]
copye()
copy() 方法用来对字典进行潜复制
注意:潜复制只会复制字典本身,如果字典中还有个字典是不会进行复制的
# 浅拷贝# 做拷贝的对象必须是可变类型# 浅拷贝只能对第一层的数据进行拷贝,如果,第一层的数据也是个可变类型,那么浅拷贝无法将这个数据重新拷贝一份形成新的iddict1 = {'1': 1, '2': 2, 'list1': [1, 2, 3, {'name': [12, 23]}]}dict2 = dict1.copy()print(id(dict1), id(dict2))print(id(dict1['list1']), id(dict2['list1']))-----------------------2847754889472 28477562707842847756293568 2847756293568==========或者==========import copydict1 = {'1': 1, '2': 2, 'list1': [1, 2, 3, {'name': [12, 23]}]}dict2 = copy.copy(dict1)print(id(dict1), id(dict2))print(id(dict1['list1']), id(dict2['list1']))----------------2979608865088 29796102465282979610277504 2979610277504==========================================================# 深拷贝# 深拷贝可以对所有的数据全部进行拷贝,形成一个新的iddict1 = {'1': 1, '2': 2, 'list1': [1, 2, 3, {'name': [12, 23]}]}dict3 = copy.deepcopy(dict1)print(id(dict1), id(dict3))print(id(dict1['list1']), id(dict3['list1']))-----------------------2205928008000 22059294661762205929420288 2205929389824
遍历字典
我们主要可以通过3种方式对字典进行遍历
- keys() 该方法返回字典所有的key
- values() 该方法返回一个序列 序列中保存有字典的值
- items() 该方法会返回字典中所有的项 它返回一个序列,序列中包含有双值子序列 双值分别是 字典中的key和value
```python
通过key来遍历 dict.keys(),获取的是value
dict1 = dict(name=’郭靖’, age=18, sex=’男’) for k in dict1.keys(): print(dict1[k])
郭靖 18
男
通过value来遍历 dict.values()
dict1 = dict(name=’郭靖’, age=18, sex=’男’) for v in dict1.values():
print(v)
郭靖 18
男
通过一项来进行遍历 dict.items()
dict1 = dict(name=’郭靖’, age=18, sex=’男’) for k, v in dict1.items():
print(k, '=', v)
name = 郭靖 age = 18 sex = 男
<a name="L7RW7"></a>### 集合简介- 集合表现形式set 集合和列表非常相似- 不同点- 集合只能存储不可变对象- 集合中存储的对象是无序的- 集合不能出现重复元素- 使用{}来创建集合- 可以通过set()来将序列和字典转换成集合- len() 使用len()来获取集合中元素的数量- add()像集合中添加元素- update()将一个集合中的元素添加到另一个集合当中- pop()随机删除集合中的一个元素一般是删除最后一个元素- remove() 删除集合中指定的元素- clear() 清空集合```python# set表示集合 {}# 集合只能存储不可变对象# s1 = {1, 'abc', [1, 2, 3]}# print(s1, type(s1))# 集合中存储的对象是无序的# s2 = {6, 8, 9, 10}# print(s2)# 集合不能出现重复元素 通过这一特性,我们可以来做一个数据去重的效果# s3 = {1, 2, 3, 4, 1, 2, 3, 4}# print(s3)# list1 = [1, 1, 2, 3, 3]# s4 = set(list1)# print(s4)dict1 = {'1': 1}print(set(dict1))# s = {} # 创建空集合, 需要用到set()# s = set()# print(type(s))
集合的运算
- & 交集运算
- | 并集运算
- 差集运算
- ^ 亦或集
- <= 检查一个集合是否是另一个集合的子集
- < 检查一个集合是否是另一个集合的真子集
=检查一个集合是否是另一个集合的超集
检查一个集合是否是另一个集合的真超集 ```python
集合只能存储不可变对象
s1 = {1, ‘abc’, [1, 2, 3]} # 报错,列表不能作为集合的元素 print(s1, type(s1))
TypeError: unhashable type: ‘list’
集合中存储的对象是无序的
s2 = {6, 8, 9, 10}
print(s2)
{8, 9, 10, 6} # 无序输出
集合不能出现重复元素 通过这一特性,我们可以来做一个数据去重的效果
s3 = {1, 2, 3, 4, 1, 2, 3, 4} print(s3) list1 = [1, 1, 2, 3, 3] s4 = set(list1)
print(s4)
{1, 2, 3, 4} {1, 2, 3}
====================== dict1 = {‘1’: 1} # 字典转集合 print(set(dict1))
{‘1’}
s = {} # 创建空集合, 需要用到set() s = set()
print(type(s))
==================== set1 = {1, 2, 3, 4} print(len(set1)) # 使用len()来获取集合中元素的数量 set1.add(5) print(set1)# add()像集合中添加元素
set2 = {6, 7} set1.update(set2)
print(set1) # update()将一个集合中的元素添加到另一个集合当中
4 {1, 2, 3, 4, 5}
{1, 2, 3, 4, 5, 6, 7}
set1 = {4, 3, 1, 2} print(set1) set1.pop() #pop()随机删除集合中的一个元素一般是删除最开始一个元素 set1.pop()
print(set1)
{1, 2, 3, 4}
{3, 4}
remove() 删除集合中指定的元素
set1 = {4, 3, 1, 2} set1.remove(3) print(set1)
clear() 清空集合
set1.clear()
print(set1)
{1, 2, 4} set()
集合的运算
s1 = {1, 2, 3, 7, 8} s2 = {4, 5, 6, 7, 8} print(‘s1 = ‘, s1) print(‘s2 = ‘, s2)
& 交集运算
print(‘s1 & s2 =’, s1 & s2)
| 并集运算
print(‘s1 | s2 =’, s1 | s2)
- 差集运算
print(‘s1 - s2 = ‘, s1 - s2)
^ 亦或集
print(‘s1 ^ s2 =’, s1 ^ s2)
s1 = {1, 2, 3, 7, 8} s2 = {4, 5, 6, 7, 8} s1 & s2 = {8, 7} s1 | s2 = {1, 2, 3, 4, 5, 6, 7, 8} s1 - s2 = {1, 2, 3} s1 ^ s2 = {1, 2, 3, 4, 5, 6}
<a name="Yhr7P"></a>### 字符串,列表,元组,字典, 集合比较```python#!D:\pythonProject# -*- coding: utf-8 -*-# @Time : 2021/1/28 21:58# @Author : J. Ding# @File : 字符串,列表,元组,字典, 集合比较.pystr1 = 'abcdef'str2 = 'GHIJ'list1 = ['a', 'b', 'c', 'd', 'e', 'f']list2 = ['G', 'H', 'I', 'J']tuple1 = ('a', 'b', 'c', 'd', 'e', 'f')tuple2 = ('G', 'H', 'J', 'J')dict1 = {0 : 'a', 1 : 'b', 2 : 'c', 3 : 'd', 4 : 'e', 5 : 'f'}dict2 = {6 : 'G', 7 : 'H', 8 : 'I', 9 : 'J'}set1 = {1, 5, 4, 3, 2}set2 = {6, 7, 4, 5}print("str1 = 'abcdef'")print("str2 = 'GHIJ'")print("list1 = ['a', 'b', 'c', 'd', 'e', 'f']")print("list2 = ['G', 'H', 'I', 'J']")print("tuple1 = ('a', 'b', 'c', 'd', 'e', 'f')")print("tuple2 = ('G', 'H', 'J', 'J')")print("dict1 = {0 : 'a', 1 : 'b', 2 : 'c', 3 : 'd', 4 : 'e', 5 : 'f'}")print("dict2 = {6 : 'G', 7 : 'H', 8 : 'I', 9 : 'J'}")print('set1 = {1, 5, 4, 3, 2}')print('set2 = {6, 7, 4, 5}')#取值print ('========取值比较========')print('str1[0] = ', str1[0])print('list1[0] = ', list1[0])print('tuple1[0] = ', tuple1[0])print('dict1.get(0) = ', dict1.get(0))print('# 集合无序,无法按位取值')#长度 len()print('========元素个数比较========')print('len(str1) = ', len(str1))print('len(list1) = ', len(list1))print('len(tuple1) = ', len(tuple1))print('len(dict1) = ', len(dict1))print('len(set1) = ', len(set1))# in, not inprint('========in 操作比较========')print("'a' in str1 = ", 'a' in str1)print("'a' in list1 = ", 'a' in list1)print("'a' in tuple1 = ", 'a' in tuple1)print('0 in dict1 = ', 0 in dict1) # check if key is in the dictprint('1 in set1 =', 1 in set1)# + (合并)print('========加法比较========')print('str1 + str2 = ', str1 + str2)print('list1 + list2 = ', list1 + list2)print('tuple1 + tuple2 = ', tuple1 + tuple2)dict1.update(dict2)print('在 dict1.update(dict2) 操作之后, dict1 = ', dict1)set1.update(set2)print('在 set1.update(set2) 操作之后, set1 = ', set1)# *print('========乘法比较========')print('str1 * 2 = ', str1 * 2)print('list1 * 2 = ', list1 * 2)print('tuple1 * 2 = ', tuple1 * 2)print('dict 没有乘法操作')print('set 没有乘法操作')# max / minprint('========max比较========')print('max(str2) = ', max(str2))print('max(list2) = ', max(list2))print('max(tuple2) = ', max(tuple2))print('max(dict2) = ', max(dict2))print('max(set2) = ', max(set2))# 切片print('========切片比较========')print('str1[0:5:2] = ', str1[0:5:2])print('list1[0:5:2] = ', list1[0:5:2])print('tuple1[0:5:2] = ', tuple1[0:5:2])print('# 字典没有切片操作') # 字典没有切片操作print('# 集合没有切片操作') # 集合没有切片操作# 增加print('========增加比较========')list2 = ['G', 'H', 'I', 'J']dict2 = {6 : 'G', 7 : 'H', 8 : 'I', 9 : 'J'}set2 = set2 = {6, 7, 4, 5}print('# 字符串不可变,不支持修改元素') # 字符串不可变,不支持增加元素print("list2.append('K')")list2.append('K')print('list2 = ', list2)print('# 元组不可变,不支持修改元素') # 元组不可变,不支持修改元素print("dict2.update({10: 'K'})")dict2.update({10 : 'K'})print('dict2 =', dict2)set2.add(8)print('set2 =', set2)# 删除print('========删除比较========')list1 = ['a', 'b', 'c', 'd', 'e', 'f']dict1 = {0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f'}set1 = {1, 5, 4, 3, 2}print('#字符串不支持删除元素,除非空格')print('list1.pop(2) = ', list1.pop(2))print('# 元组不可变,不支持删除元素')print('dict1.pop(2) =', dict1.pop(2))del dict1[3] # 删除键值为3的key-value对print('del dict1[3] =', dict1, '#删除键值为3的key-value对')print('set1.pop() =', set1.pop(), '# pop()随机删除集合中的一个元素, 一般是第一个元素') # pop()随机删除集合中的一个元素, 一般是第一个元素set1.remove(3)print('set1.remove(3) =', set1, '# pop(3)删除集合中的一个元素 3') # pop(3)删除集合中的一个元素 3#修改print('========修改比较========')list1 = ['a', 'b', 'c', 'd', 'e', 'f']dict1 = {0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f'}print('#字符串不支持修改元素')list1[0] = 'x'print("list1[0] = 'x'")print(list1)print('# 元组不可变,不支持修改元素')dict1[0] = 'x'print("dict1[0] = 'x'")print(dict1)print('# 集合不可变,不支持修改元素')#遍历print('========遍历比较========')str1 = 'abcdef'list1 = ['a', 'b', 'c', 'd', 'e', 'f']tuple1 = ('a', 'b', 'c', 'd', 'e', 'f')dict1 = {0 : 'a', 1 : 'b', 2 : 'c', 3 : 'd', 4 : 'e', 5 : 'f'}set1 = {1, 5, 4, 3, 2}print('字符串遍历:')for i in str1:print(i)print('列表遍历:')for i in list1:print(i)print('元组遍历:')for i in tuple1:print(i)print('字典遍历:')for i in dict1.keys():print(i, dict1.get(i))print('集合遍历: #自动排序列出')for i in set1:print(i)#清空print('========清空比较========')print('# 字符串没有清空方法') # 字符串没有清空方法list1.clear()print('list1.clear() =', list1)print('# 元组没有清空方法') # 元组没有清空方法dict1.clear()print('dict1.clear() =', dict1)set1.clear()print('set1.clear() =', set1)--------------输出-----------------------str1 = 'abcdef'str2 = 'GHIJ'list1 = ['a', 'b', 'c', 'd', 'e', 'f']list2 = ['G', 'H', 'I', 'J']tuple1 = ('a', 'b', 'c', 'd', 'e', 'f')tuple2 = ('G', 'H', 'J', 'J')dict1 = {0 : 'a', 1 : 'b', 2 : 'c', 3 : 'd', 4 : 'e', 5 : 'f'}dict2 = {6 : 'G', 7 : 'H', 8 : 'I', 9 : 'J'}set1 = {1, 5, 4, 3, 2}set2 = {6, 7, 4, 5}========取值比较========str1[0] = alist1[0] = atuple1[0] = adict1.get(0) = a# 集合无序,无法按位取值========元素个数比较========len(str1) = 6len(list1) = 6len(tuple1) = 6len(dict1) = 6len(set1) = 5========in 操作比较========'a' in str1 = True'a' in list1 = True'a' in tuple1 = True0 in dict1 = True1 in set1 = True========加法比较========str1 + str2 = abcdefGHIJlist1 + list2 = ['a', 'b', 'c', 'd', 'e', 'f', 'G', 'H', 'I', 'J']tuple1 + tuple2 = ('a', 'b', 'c', 'd', 'e', 'f', 'G', 'H', 'J', 'J')在 dict1.update(dict2) 操作之后, dict1 = {0: 'a', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f', 6: 'G', 7: 'H', 8: 'I', 9: 'J'}在 set1.update(set2) 操作之后, set1 = {1, 2, 3, 4, 5, 6, 7}========乘法比较========str1 * 2 = abcdefabcdeflist1 * 2 = ['a', 'b', 'c', 'd', 'e', 'f', 'a', 'b', 'c', 'd', 'e', 'f']tuple1 * 2 = ('a', 'b', 'c', 'd', 'e', 'f', 'a', 'b', 'c', 'd', 'e', 'f')dict 没有乘法操作set 没有乘法操作========max比较========max(str2) = Jmax(list2) = Jmax(tuple2) = Jmax(dict2) = 9max(set2) = 7========切片比较========str1[0:5:2] = acelist1[0:5:2] = ['a', 'c', 'e']tuple1[0:5:2] = ('a', 'c', 'e')# 字典没有切片操作# 集合没有切片操作========增加比较========# 字符串不可变,不支持修改元素list2.append('K')list2 = ['G', 'H', 'I', 'J', 'K']# 元组不可变,不支持修改元素dict2.update({10: 'K'})dict2 = {6: 'G', 7: 'H', 8: 'I', 9: 'J', 10: 'K'}set2 = {4, 5, 6, 7, 8}========删除比较========#字符串不支持删除元素,除非空格list1.pop(2) = c# 元组不可变,不支持删除元素dict1.pop(2) = cdel dict1[3] = {0: 'a', 1: 'b', 4: 'e', 5: 'f'} #删除键值为3的key-value对set1.pop() = 1 # pop()随机删除集合中的一个元素, 一般是第一个元素set1.remove(3) = {2, 4, 5} # pop(3)删除集合中的一个元素 3========修改比较========#字符串不支持修改元素list1[0] = 'x'['x', 'b', 'c', 'd', 'e', 'f']# 元组不可变,不支持修改元素dict1[0] = 'x'{0: 'x', 1: 'b', 2: 'c', 3: 'd', 4: 'e', 5: 'f'}# 集合不可变,不支持修改元素========遍历比较========字符串遍历:abcdef列表遍历:abcdef元组遍历:abcdef字典遍历:0 a1 b2 c3 d4 e5 f集合遍历: #自动排序列出12345========清空比较========# 字符串没有清空方法list1.clear() = []# 元组没有清空方法dict1.clear() = {}set1.clear() = set()进程已结束,退出代码0
作业
- a = {“name”:”123”,”data”:{“result”:[{“src”:”python1”},{“src”:”python2”},{“src”:”python3”}]}} 找到python1/python2/python3 ```python a = {“name”:”123”,”data”:{“result”:[{“src”:”python1”},{“src”:”python2”},{“src”:”python3”}]}} for i in a[‘data’][‘result’]: print(i[‘src’])
python1 python2 python3
- 有如下值列表[11,22,33,44,55,66,77,88,99,90], 将所有大于66的值保存至字典的第一个key的值中,将小于66值保存至第二个key的值中。```pythonlist1 = [11,22,33,44,55,66,77,88,99,90]list3 = []list4 = []dict1 = {'大于66' : list3, '小于66' : list4}for i in list1:if i > 66:dict1.setdefault('大于66', list3.append(i))if i < 66:dict1.setdefault('小于66', list4.append(i))print(dict1)---------------------------------------{'大于66': [77, 88, 99, 90], '小于66': [11, 22, 33, 44, 55]}
