在之前数据容器系列文章中已经介绍过下面图中常用函数,不过还是要根据实际应用场景选择合适的函数使用:

下面继续介绍一些数据容器的通用操作,主要是类型之间的相互转换。
list函数有如下两个作用:
res5 = list()
print(type(res5), res5) # <class 'list'> []
data_range = range(5) # <class 'range'> range(0, 5)
data_str = '欢迎大家都来学Python' # <class 'str'>
data_set = {10, 20, 30, 40, 50} # <class 'set'>
data_dict = { '张三': 75, '李四': 60, '王五': 85 } # <class 'dict'>
res1 = list(data_range)
print(type(res1), res1) # <class 'list'> [0, 1, 2, 3, 4]
res2 = list(data_str)
print(type(res2), res2) # <class 'list'> ['欢', '迎', '大', '家', '都', '来', '学', 'P', 'y', 't', 'h', 'o', 'n']
res3 = list(data_set)
print(type(res3), res3) # <class 'list'> [50, 20, 40, 10, 30]
res4 = list(data_dict.items())
print(type(res4), res4) # <class 'list'> [('张三', 75), ('李四', 60), ('王五', 85)]
tuple函数有如下两个作用:
res5 = tuple()
print(type(res5), res5) # <class 'tuple'> ()
data_range = range(5) # <class 'range'> range(0, 5)
data_str = '欢迎大家都来学Python' # <class 'str'>
data_set = {10, 20, 30, 40, 50} # <class 'set'>
data_dict = {'张三': 75, '李四': 60, '王五': 85} # <class 'dict'>
res1 = tuple(data_range)
print(type(res1), res1) # <class 'tuple'> (0, 1, 2, 3, 4)
res2 = tuple(data_str)
print(type(res2), res2) # <class 'tuple'> ('欢', '迎', '大', '家', '都', '来', '学', 'P', 'y', 't', 'h', 'o', 'n')
res3 = tuple(data_set)
print(type(res3), res3) # <class 'tuple'> (50, 20, 40, 10, 30)
res4 = tuple(data_dict)
print(type(res4), res4) # <class 'tuple'> ('张三', '李四', '王五')
set函数有如下两个作用:
res5 = set()
print(type(res5), res5) # <class 'set'> set()
data_range = range(5) # <class 'range'> range(0, 5)
data_str = '欢迎大家都来学Python' # <class 'str'>
data_list = [10, 20, 30, 40, 50] # <class 'list'>
data_dict = {'张三': 75, '李四': 60, '王五': 85} # <class 'dict'>
res1 = set(data_range)
print(type(res1), res1) # <class 'set'> {0, 1, 2, 3, 4}
res2 = set(data_str)
print(type(res2), res2) # <class 'set'> {'n', 't', '都', '迎', '学', '欢', 'P', 'o', '大', '来', 'y', '家', 'h'}
res3 = set(data_list)
print(type(res3), res3) # <class 'set'> {40, 10, 50, 20, 30}
res4 = set(data_dict)
print(type(res4), res4) # <class 'set'> {'王五', '李四', '张三'}
str函数有如下两个作用:
res8 = str()
print(type(res8), res8) # <class 'str'>
data_range = range(5) # <class 'range'> range(0, 5)
data_list = [10, 20, 30, 40, 50] # <class 'list'>
data_set = {10, 20, 30, 40, 50} # <class 'set'>
data_dict = { '张三': 75, '李四': 60, '王五': 85 } # <class 'dict'>
data_bool = False # <class 'bool'>
data_none = None # <class 'NoneType'>
data_int = 100 # <class 'int'>
res1 = str(data_range)
print(type(res1), res1) # <class 'str'> range(0, 5)
res2 = str(data_list)
print(type(res2), res2) # <class 'str'> [10, 20, 30, 40, 50]
res3 = str(data_set)
print(type(res3), res3) # <class 'str'> {50, 20, 40, 10, 30}
res4 = str(data_dict)
print(type(res4), res4) #<class 'str'> {'张三': 75, '李四': 60, '王五': 85}
res5 = str(data_bool)
print(type(res5), res5) # <class 'str'> False
res6 = str(data_none)
print(type(res6), res6) # <class 'str'> None
res7 = str(data_int)
print(type(res7), res7) # <class 'str'> 100
dict函数有如下两个作用:
res5 = dict()
print(type(res5), res5) # <class 'dict'> {}
data1 = {'张三': 75, '李四': 60, '王五':85} # <class 'dict'>
data2 = [('张三', 75), ('李四', 60), ('王五', 85)] # <class 'list'>
data3 = (('张三', 75), ('李四', 60), ('王五', 85)) # <class 'tuple'>
data4 = {('张三', 75), ('李四', 60), ('王五', 85)} # <class 'set'>
res1 = dict(data1)
print(type(res1), res1) # <class 'dict'> {'张三': 75, '李四': 60, '王五': 85}
res2 = dict(data2)
print(type(res2), res2) # <class 'dict'> {'张三': 75, '李四': 60, '王五': 85}
res3 = dict(data3)
print(type(res3), res3) # <class 'dict'> {'张三': 75, '李四': 60, '王五': 85}
res4 = dict(data4)
print(type(res4), res4) # <class 'dict'> {'李四': 60, '张三': 75, '王五': 85}
所有数据容器都支持成员运算符in / not in,它的作用是:判断某个元素是否在于容器中。
data_list = [10, 20, 30, 40, 50] # <class 'list'>
data_tuple = (10, 20, 30, 40, 50) # <class 'tuple'>
data_set = {10, 20, 30, 40, 50} # <class 'set'>
data_dict = {'张三': 75, '李四': 60, '王五': 85} # <class 'dict'>
data_str = '欢迎大家都来学Python' # <class 'str'>
print('100' not in data_list) # True
print('100' not in data_tuple) # True
print('100' not in data_set) # True
print('赵六' not in data_dict) # True
print('Python5' not in data_str) # True
print()
print(10 in data_list) # True
print(10 in data_tuple) # True
print(10 in data_set) # True
print('王五' in data_dict) # True
print('Py' in data_str) # True
下面对数据容器从以下维度进行对比总结:
有序 VS 无序
是否可修改
是否可重复
至此,数据容器就学习完了,收获满满,下一步开始学习面向对象。