p.s.高产量博主,点个关注不迷路!
目录
I.列表的高级使用
II.元组的高级使用
III.切片
IV.字典的高级使用
I.列表的高级使用
对于列表来说,它的高级使用将从 增删改查 四个角度进行介绍,下面的示例代码:
# 列表高级:添加 # 1. append 追加,在列表的最后一位添加一个对象/数据 food_list = ['apple', 'banana'] print(food_list) food_list.append('cock') print(food_list) # 2. insert 插入,两个参数,第一个参数代表想要插入的下标位置, # 第二个参数代表你要插入的对象/数据 char_list = ['a','c','d'] print(char_list) char_list.insert(1,'b') print(char_list) # a b c d # 3. extend 继承,传入的是一个列表,把传入的列表整个插入到 # 调用extend()函数的列表的末尾: num_list = [1,2,3] num_list2 = [4,5,6] num_list.extend(num_list2) print(num_list) # 列表高级:修改 # 将列表中的元素的值修改 # 实现的方法类似于其他编程语言中给数组某一位赋一个新的值覆盖旧值: city_list = ['Beijing','Shanghai','Shenzhen','Henan'] print(city_list) # 假设想要修改第三位,Shenzhen,其索引值是2: city_list[2] = 'Changchun' print(city_list) # 列表高级:查询 # 判断已知数据是否在列表内: # 用关键字:in或者not in即可,in/not in的前面是待查询的元素,in/not in后面是一个列表 # 1. in代表待查询的元素在列表中: # 存在时返回true,不存在返回false food_list = ['apple', 'banana','cock'] food = 'apple' if food in food_list: print('存在') else: print('不存在') # 2. not in也是查询的关键字,代表待查询的元素不在列表中: # 不存在时返回true,存在时返回false ball_list = ['Basketball','Football'] ball = 'pingpang' if ball not in ball_list: print('不存在') else: print('存在') # 列表高级:删除 # 1. 根据下标删除列表中的元素 a_list = [1,2,3,4,5] print(a_list) # 例如要删除下标为2的元素3,使用关键字del 加列表 加对应索引: del a_list[2] # 2. 删除列表的最后一位元素,使用关键字 b_list = [1,2,3,4,5] print(b_list) # 使用pop()函数能够删除最后一位元素: b_list.pop() print(b_list) # 3. 根据元素的值,删除元素 c_list = [1,2,3,4,5] print(c_list) # 例如想要删除元素值为3的元素,使用remove()函数即可,传入值: c_list.remove(3) print(c_list) # 打印结果:1 2 4 5,如果是索引,那应是 1 2 3 5
要注意的是,对于增和删,有几种不同的模式,每种模式适用于不同的场景!
II.元组的高级使用
元组的高级使用,介绍的思路是从元组与列表的联系与区别入手,它们有如下联系与区别:
# 元组高级:与列表区别与联系: # 首先,元组是圆括号(),列表是[] a_tuple = (1,2,3,4) a_list = [1,2,3,4] # 其次,元组和列表访问某个元组的格式是一样的, # 都是 变量名[index] print(a_tuple[0]) print(a_list[0]) # 最后,元组的元素不可修改,列表的元素显然可以修改 # a_tuple[0] = 2 #这句话会报错,因为元组不可修改 a_list[0] = 2 # 但是列表支持修改 # 补充:当元组中只有一个元素的时候,它是一个整型数据 b_tuple = (5) print(type(b_tuple)) # int # 如果这时候只有一个元组,还想让它是元组类型,需要在数据后面加一个逗号: c_tuple = (5,) print(type(c_tuple)) # tuple
由上述可以看出,元组更像其他编程语言中的 constant 变量,也即声明之后就不能再修改的变量类型。
III.切片
切片是一种经常运用于字符串、列表和元组中的技术方法,它的意思是将字符串、列表和元组中的元素切割成不同的片段,并把这些片段返回。下面的示例代码以字符串的切片为例,列表和元组的使用方法大同小异:
# 切片:适用于字符串、列表和元组,这里以字符串为例 # 列表和元组使用方法完全相同: s = 'hello world' # 1.在[]中直接写下标,此时可以看做切片,也可以看做对单个元素的访问: print(s[4]) # 2.在[]中写起始位索引 : 终止位索引, # 此时切片是从起始位到终止位的字符串,且 【左闭右开】 print(s[0 : 4]) # 3. 在[]中写 n : # 此时表示从第n位索引对应元素开始,一直到最后一位 print(s[1 :]) # 4. 在[]中写 : n # 此时表示从第0位索引对应元素开始,到第n位索引,且【左闭右开】 print(s[: 3]) # 5. 在[]中写 n : m : o # 从下标为 n 的位置开始,到下标为 m 的位置结束,且【左闭右开】 # 步长是 o (每次增加的位置数),且【左闭右开】 print(s[0:5:2]) # hlo,代表索引 0 2 4
IV.字典的高级使用
字典的高级使用,和列表类似,思路是从字典的增删改查入手,并且增加了一项,那就是对字典的不同遍历方法,下面是五种 *** 作的详细示例代码(增删改查+遍历):
# 字典高级 # 定义一个字典: person = {'name' : '跳探戈的小龙虾', 'age' : 20} # 字典高级:查询 # (1). 字典变量名['key'] 查询元素 print(person['name']) print(person['age']) # 当访问不存在的'key'值时,出现的情况是会报错: # print(person['sex'] 会报错 key error # (2). get()函数 查询元素 print(person.get('name')) print(person.get('age')) # 字典高级:修改 # 例如修改上例中 'name' 键的值为 '张三' person['name'] = '张三' print(person['name']) # 字典高级:添加 # 例如添加一个新的 键值对:'sex' 'nan' person['sex'] = 'nan' # 添加的格式与修改相同,只是此时 键 key 是不存在的, # 因此会新建该键值对,如果该键存在,那就是修改 *** 作 # 字典高级:删除 # (1) del 关键字删除:删除字典中指定的某一个元素 del person['sex'] print(person) # (2) del 关键字删除:删除整个字典,包括字典对象本身 del person # print(person) # 这时打印会报错,因为person字典已经不存在了 # (3) clear 清空字典内容,但是保留字典对象 person = {'name' : '跳探戈的小龙虾', 'age' : 20} person.clear() print(person) # 此时打印的结果只有一个 {},因为内容已被清空!但不会报错 # 字典高级:遍历 # (1) 遍历字典的key # 字典.keys() 方法,获取字典所有的key值,而后用 # for循环即可,用一个临时变量进行遍历 person = {'name' : '跳探戈的小龙虾', 'age' : 20} for key in person.keys(): print(key) # (2) 遍历字典的value # 字典.values() 方法,获取字典所有的value值,而后用 # for循环即可,用一个临时变量进行遍历 for value in person.values(): print(value) # (3) 遍历字典的key和value # 字典.items() 方法,获取所有的key value键值对, # 并且用两个临时变量通过for循环遍历 for key,value in person.items(): print(key,value) # (4) 遍历字典的项/元素 # 仍然是字典.items() 方法,但是此时只用一个临时变量去循环遍历 # 即可获取字典的每一项,这与上一种的区别在于获取的 # 键值对会用一个()包围,即打印的结果是(key,value) for item in person.items(): print(item)
最后关于遍历的最后一种方式,也即遍历字典的项,这里稍作说明:
遍历字典的项,它和前一种遍历key和value很相似,区别在于遍历项的结果被包含进了括号里面,也即遍历的结果是:(key,value) 的形式,这更符合‘项’的定义。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)