# ************************************************** ## 3.列表# ************************************************** ## 1.列表是有序的对象结合,数据项不必具有相同的数据类型# 2.例如:list = ["name", "address", 2019, 2020]# 3.列表索引从0开始,与字符串不同,列表中的元素可以改变# ************************************************** ## 对列表的增删改查a = [1, 2, 3, 4, 5, 6]a.append(7) # 使用append()方法来添加列表项print(a)print()a[0:2] = [] # 删除列表中的元素,第一种方法print(a)del a[0:2] # 删除列表中的元素,第二种方法print(a)print()a[0] = 7 # 修改第一个元素的值a[1:3] = [8, 9] # 修改第二、三个元素的值print(a)print()print("a[1]:", a[1]) # 访问列表中的值print("a[1:5]:", a[1:3])print()# 列表的拼接print(['a'] * 3) # * 用于重复列表print(['a'] + ['b']) # + 用于组合列表print()# 列表的嵌套使用a = ['a', 'b', 'c']b = [1, 2, 3]x = [a, b]print(x) # 包含两个列表的列表print(x[0]) # 第一个列表print(x[0][1]) # 第一个列表的第一个元素print()# 列表排序、反转ls = [1, 3, 2, 5, 4]ls.reverse() # 1.列表反转print(ls)print(ls[::-1]) # 2.列表反转print()ls.sort() # 默认升序排列print(ls)ls.sort(reverse=True) # 降序排列print(ls)print()
# ************************************************** ## 4.元组# ************************************************** ## 1.元组与列表类似,不同之处在于元组不可修改,元组用()创建,列表用[]创建# ************************************************** ## 元组的创建tup1 = () # 空元祖# 元组中只包含一个元素时,需要在元素后面添加逗号,否则会被当成运算符tup1 = (50 )print(type(tup1))tup1 = (50, )print(type(tup1))print()# 修改元组:元组是不可修改的,但可以进行连接操作tup1 = (1, 2, 3, 4, 5)# tup1[0] = 5 # 修改元组的值是违法的print(tup1[3]) # 第四个元素print(tup1[-3]) # 倒数第三个元素print(tup1[1:]) # 第二个元素后的所有元素print()print((1, 2) + (3, 4)) # + 可以进行连接操作print(('a', ) * 3) # * 可以进行复制操作print()# 删除元组:元组中的元素值是不可以删除的,但可以使用del删除整个元组tup1 = (1, 2, 3, 4, 5)print(tup1)del tup1# print(tup1) # 打印删除后的元组,抛出异常
# ************************************************** ## 5.字典# ************************************************** ## 1.字典是一个可变容器模型,可存储任意类型的对象# 2.字典的每个值(key>=value)对用冒号(:)分隔,每个对之间用(,)分隔,整个字典被引在花括号里{}# 3.列表是有序的对象结合,字典是无序的对象集合。# 4.字典当中的元素是通过键来存取的,而不是通过偏移存取的# 5.字典的键必须使用不可变类型,如字符串、数字或元组。# 6.在同一字典中,键必须是唯一的# 7.字典的值可存储任意类型的对象# 8.字典格式: dic = {key1: value1, key2: value2, ... }# ************************************************** ## 创建字典dict = {} # 创建字典的第一种方法方法dict["name"] = "bian"dict["age"] = 25dict = {"name": "bian", "age": 25} # 创建字典的第二种方法方法# 访问字典的值dict['Age'] = 18 # 更新Agedict['School'] = "abc" # 添加信息print("dict['Age']: ", dict['Age'])print("dict['School']: ", dict['School'])print()# 删除字典元素,可以删除单一的元素,也可以清空字典del dict['name'] # 删除字典的键dict.clear() # 删除字典del dict # 删除字典后,字典就不存在了,不能是使用了,dict1变成野指针,需要重新声明变量的类型print()# 遍历字典dict2 = {'name': 'bian', 'age': 25, 'school': 'abc'}for idx, val in dict2.items(): # 第一种方法 print('idx={0}, val={1}'.format(idx, val))print()for key in dict2.keys(): # 第二种方法 print('key={0}, val={1}'.format(key, dict2[key]))print()# 字典的特性dict3 = {'Name': 'bian', 'Name': 'wu'}print("dict3['Name']: ", dict3['Name']) # 不允许同一键出现两次,如果同一键被赋值两次,后一个值会被记住dict3 = {('Name', ): 'bian'} # 键必须不可变,所以可用数字、字符串、元组充当,而列表就不行# dict3 = {['Name', ]: 'bian'}
# ************************************************** ## 6.集合# ************************************************** ## 1.集合是一个无序、不包含重复元素的集# 2.基本功能包括关系测试和删除重复元素# 3.可以用花括号{}创建集合,注意:如果创建一个空集合,必须用set()而不是{},后者是创建一个空的字典# ************************************************** ## 删除重复的元素basket = {'a', 'b', 'a', 'b', 'c', 'c'}print(basket)# 检测集合的成员print('a' in basket)print('d' in basket)print()# 集合的操作a = set('abcdabcdefg')b = set('abcabcijk')print(a) # 删除重复的元素print(b) # 删除重复的元素print()print(a - b) # 在a集合的字母,但不在b集合的字母print(a | b) # 在a集合或b集合的字母print(a & b) # 在a集合和b集合都有的字母print(a ^ b) # a集合和b集合不同时存在的字母
集合的打印输出1
集合的打印输出2
看上面两图,可以看出运行相同的代码,但是集合的输出确是不同的,这是集合的特点,它只是元素的无序集合,所以打印也是无序的。