Python自学笔记11——字典(方法)

1 、clear 清除方法 

value1 = {'t': 'T', 'a': 'A', 'b': 'B'}
value1.clear()
print(value1)

输出:{}

2、copy方法、deepdeepy函数

copy方法复制的字典只是浅复制,只复制第1层字典数据,第2层及以下的说有数据层,原字典与新字典指向同一个值。

value1 = {'t': 'T', 'a': 'A', 'b': ['B', 'Q']}
# 复制生成一个value2
value2 = value1.copy()
# 输出v1和v2的值对比
print(value1)  # {'t': 'T', 'a': 'A', 'b': ['B', 'Q']}
print(value2)  # {'t': 'T', 'a': 'A', 'b': ['B', 'Q']}
# 修改v1中的1层值 然后输出对比
value1['t'] = 'W'
print(value1)  # {'t': 'W', 'a': 'A', 'b': ['B', 'Q']}
print(value2)  # {'t': 'T', 'a': 'A', 'b': ['B', 'Q']}
# 修改v1中2层值,输出对比
value1['b'][1] = 'K'
print(value1) # {'t': 'W', 'a': 'A', 'b': ['B', 'K']}
print(value2) # {'t': 'T', 'a': 'A', 'b': ['B', 'K']}

从对比看copy后的数据第一次层 修改不影响另一个数 't': 'W',而第二层开始,就该就会影响到另一个变量的相应值。如'b': ['B', 'K']

如果涉及到2层以上的修改,就用到了deepcopy 函数

from copy import deepcopy
value1 = {'t': 'T', 'a': 'A', 'b': ['B', 'Q']}
value2 = deepcopy(value1)
value1['b'][1] = 'k'
print(value1)
print(value2)

>>>{'t': 'T', 'a': 'A', 'b': ['B', 'k']}
>>>{'t': 'T', 'a': 'A', 'b': ['B', 'Q']}

3、fromkeys方法根据Key建立新字典

# 建一个有key,value为空的字典
v1 = {}.fromkeys(['a', 'b', 'c'])
v2 = v1.fromkeys(['d', 'e', 'f'])
v3 = v1.fromkeys(['a', 'b', 'c'], '固定值')
print(v1)
print(v2)
print(v3)


>>>{'a': None, 'b': None, 'c': None}
>>>{'d': None, 'e': None, 'f': None}
>>>{'a': '固定值', 'b': '固定值', 'c': '固定值'}

4、get函数 用于根据kye查找value   注:value is None 与value == None 结果一样但是后者格式有错误提醒。

value1 = {'a': 'A', 'b': 'B', 'c': 'C'}
while True :
    word = input("输入Key值:")
    if word == ":exit":
        break
    value = value1.get(word)
    if value is None:
        print("没找到{}的值".format(word))
    else:
        print("{}的大写字母是:{}".format(word, value))

5、pop方法和popitem方法

value1 = {'a': 'A', 'b': 'B', 'c': 'C'}
value1['d'] = 'D'
value1['e'] = 'E'
print(value1)
print(value1.pop('b'))  # 弹出(删除)key下的值,并返回值,这里是B
print(value1)           # 可以看出b及其值已经没有了
for i in range(len(value1)):
    print(value1.popitem())      # 从添加的顺序倒序开始弹出/删除 键值对
print(value1)                  #  都弹出来了成为空字典 { }
>>>>>>
{'a': 'A', 'b': 'B', 'c': 'C', 'd': 'D', 'e': 'E'}
B
{'a': 'A', 'c': 'C', 'd': 'D', 'e': 'E'}
('e', 'E')
('d', 'D')
('c', 'C')
('a', 'A')
{}

6、update 用一个字典中的数更新另一个字典中的数,如果key存在就修改值,如果没有这个key就会增加相应的key

value1 = {'a': 'A', 'b': 'B', 'c': 'C'}
value2 = {'a': 'C', 'e': 'E', 'f': 'F'}
value1.update(value2)
print(value1)

>>>>
{'a': 'C', 'b': 'B', 'c': 'C', 'e': 'E', 'f': 'F'}

7、setdefault(x,y)方法,用于设置key的默认值,第一参数为key 第二个参数为value,如果key不存在就会增加key-value,疾病返回value值,如果kye存在那么value不变直接返回value值。如果没有标注第二个value参数,默认为None

value1 = {'a': 'A'}
print(value1)
print(value1.setdefault('b', 'B'))
print(value1)
print(value1.setdefault('a', 'D'))
print(value1)
print(value1.setdefault("e"))
print(value1)

>>>>
{'a': 'A'}
B
{'a': 'A', 'b': 'B'}
A
{'a': 'A', 'b': 'B'}
None
{'a': 'A', 'b': 'B', 'e': None}

8、values方法,用于返回字典中的值,一般通过迭代 也就for方法输出

value1 = {'a': 'A', 'b': 'B', 'c': 'C'}
print(value1.values())
for i in value1.values():
    print(i)


>>>>
dict_values(['A', 'B', 'C'])
A
B
C

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,今天我们来学习Python中的字典(Dictionary)。 字典是一种无序的、可变的数据类型,它以键值对(key-value)的形式存储数据,其中键(key)必须是唯一的,而值(value)可以是任意数据类型。字典用花括号{}表示,每个键值对之间用逗号隔开。 下面是一个简单的字典示例: ``` my_dict = {'name': '张三', 'age': 18, 'gender': '男'} ``` 这个字典中,'name'、'age'、'gender'就是键,而'张三'、18、'男'就是相应的值。 可以使用`dict()`函数来创建一个字典,也可以使用`{}`来创建一个空字典。 接下来,我们来看一些常用的字典操作。 1. 访问字典元素 可以通过键来访问字典中的元素,例如: ``` print(my_dict['name']) # 输出:张三 ``` 如果键不存在,则会抛出KeyError异常。 2. 修改字典元素 可以通过键来修改字典中的元素,例如: ``` my_dict['age'] = 20 print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男'} ``` 3. 添加字典元素 可以通过键来添加字典中的元素,例如: ``` my_dict['address'] = '北京市' print(my_dict) # 输出:{'name': '张三', 'age': 20, 'gender': '男', 'address': '北京市'} ``` 4. 删除字典元素 可以通过键来删除字典中的元素,例如: ``` del my_dict['gender'] print(my_dict) # 输出:{'name': '张三', 'age': 20, 'address': '北京市'} ``` 5. 字典长度 可以使用`len()`函数来获取字典的长度,例如: ``` print(len(my_dict)) # 输出:3 ``` 6. 字典遍历 可以使用`items()`方法来遍历字典中的每一个键值对,例如: ``` for key, value in my_dict.items(): print(key, value) ``` 输出: ``` name 张三 age 20 address 北京市 ``` 通过上述操作,我们可以初步了解字典的基本用法。在实际应用中,字典是非常重要的数据类型,它可以用来存储和处理各种复杂的数据结构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值