dict(字典)的访问
查看字典中的元素:
get(self, key, default=None, /)
Return the value for key if key is in the dictionary, else default.
(如果key在字典中,则返回key的值,否则为默认值。)
get: 通过key去获取
keys(…)
D.keys() -> a set-like object providing a view on D’s keys
(一个类似集合的对象,提供了D键的视图)
values(…)
D.values() -> an object providing a view on D’s values
(一个提供D值视图的对象)
items(…)
D.items() -> a set-like object providing a view on D’s items
(一个类似集合的对象,提供D的项的视图)
更新合并多个字典:
update(…)
D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
(从字典或可迭代对象E和F中更新D。)
访问字典练习:
print("get--------------------------------------------------")
dict_data = {"姓名":"小明", "性别":"男", "爱好":"跑步"}
print(dict_data.get("姓名")) #输入key,会输出key的值
dict_data2 = {1:2, 2:3, 3:4}
print(dict_data2.get(4)) #打印没有元素key,会默认返回none
print(dict_data2.get(4, "Test")) #改变其默认值
print(dict_data2) #查看字典,并未改变字典元素的值
print("keys and values--------------------------------------")
print(dict_data2.keys()) #获取字典中所有key的值
print(dict_data2.values()) #输出字典中所有value的值
print(dict_data2.items()) #输出所有的key和value的值
print("update-----------------------------------------------")
dict_data2.update(dict_data) #合并字典
print(dict_data2)
输出结果为:
set(集合)的学习
移除集合中的元素:
discard(…)
Remove an element from a set if it is a member.
(如果元素是集合中的成员,则从集合中移除该元素。)
If the element is not a member, do nothing.
(如果元素不是成员,则什么也不做。)
remove(…)
Remove an element from a set; it must be a member.
(从集合中移除一个元素;它必须是一个成员。)
If the element is not a member, raise a KeyError.
(如果元素不是成员,则引发KeyError。)
向集合中增加元素:
add(…)
Add an element to a set. (向集合中添加元素)
This has no effect if the element is already present. (如果元素已经存在,则没有效果)
访问集合练习:
set_data = {1, 2, 3}
print("discard----------------------------------------------")
set_data.discard(4) #用discard移除一个不是集合中的元素,它将会跳过此程序
print(set_data)
# set_data.remove(4) #用remove移除不包含于所在集合的元素,执行时将会报(KeyError)错误。(以注释)
# print(set_data)
print("add-------------------------------------------------")
set_data.add(4) #添加元素
print(set_data)
运行结果为:
切片
概念:
定义类型: print(list_data[start:stop:step])
切片规则:
-
查找时遵循遵循左闭右开的原则,即从start包含给定下标的元素开始,到stop该下标的前一个下标所对应的元素结束。
step为步长,默认步长为 1,step的正负决定start是从前往后还是从后往前切片,正为从前往后,负为从后往前。 -
使用下标去访问序列,其下标可以使用正负值,使用区别:
使用负下标,是从-1开始,即从列序列的最后一个元素开始向前查找
使用正下表,是从0开始,即从序列的第一个元素开始
切片练习:
list_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
#想获取某一个元素,可以通过下标去访问:
print(list_data[9])
print(list_data[-10])
#想获取某一段的元素,用“:”隔开
print(list_data[5:9]) #获取 6-9 段的元素
print(list_data[4:]) #获取第5到最后一个元素
print(list_data[-1:3:-1]) #获取第5到最后一个元素
print(list_data[2:9:2]) #以步长为2,获取 3-9 段的元素
print(list_data[-2:1:-2]) #以步长为2,从第9个元素往前,获取第 3-9 段的元素
输出结果为: