您现在的位置是:亿华云 > IT科技类资讯
Python字典详解-超级完整版
亿华云2025-10-09 01:31:13【IT科技类资讯】6人已围观
简介一、字典概述1. 字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号 : 分割,每个对之间用逗号,
一、字典字典概述
1. 字典的详解格式
Python字典是一种可变容器模型,且可存储任意类型对象,超级如字符串、完整数字、字典元组等其他容器模型。详解
字典的超级每个键值key=>value对用冒号 : 分割,每个对之间用逗号,完整分割,整个字典包括在花括号{ }中 ,字典格式如下所示:
d = { key1 : value1, key2 : value2 }2. 字典的创建
有多种方法可以创建字典,以下几种方法创建的详解字典均等于 { "one": 1, "two": 2, "three": 3}
a = dict(one=1, two=2, three=3) b = { one: 1, two: 2, three: 3} c = dict(zip([one, two, three], [1, 2, 3])) d = dict([(two, 2), (one, 1), (three, 3)]) e = dict({ three: 3, one: 1, two: 2}) f = dict({ one: 1, three: 3}, two=2) a == b == c == d == e == f3. 字典键的特性
字典值可以没有限制地取任何python对象,既可以是超级标准的对象,也可以是完整用户定义的,但键不行,字典有特殊的详解要求,两个重要的超级点需要记住:
唯一性:不允许同一个键出现两次,创建时如果同一个键被赋值两次,后一个值会被记住。b2b信息网 不可变:键必须不可变,所以可以用数字,字符串或元组充当,所以用列表、字典等就不行。二、字典的11个方法
print(dir(dict)) [clear, copy, fromkeys, get, items, keys, pop, popitem, setdefault, update, values]1. fromkeys()
描述:创建一个新字典,以序列seq 中元素做字典的键,value为字典所有键对应的初始值。
语法:dict.fromkeys(seq[, value])
参数:
seq 一个序列,作为字典键值列表。
value 可选参数, 设置键序列(seq)的值。
fromkeys是创造一个新的字典。就是事先造好一个空字典和一个列表,fromkeys会接收两个参数,第一个参数为从外部传入的可迭代对象,会将循环取出元素作为字典的key值,另外一个参数是字典的云服务器value值,不写所有的key值所对应的value值均为None,写了则为默认的值
#快速生成字典 seq = (Google, Baidu, Taobao) dict.fromkeys(seq) { Google: None, Baidu: None, Taobao: None} dict.fromkeys(seq, 1) { Google: 1, Baidu: 1, Taobao: 1} dict.fromkeys(range(5), 88) { 0: 88, 1: 88, 2: 88, 3: 88, 4: 88 s = [1,2,3] dict.fromkeys(seq,s) { Google: [1, 2, 3], Baidu: [1, 2, 3], Taobao: [1, 2, 32. clear()
描述:清除字典中所有的元素,得到的是空的字典。返回值None
语法:dict.clear()
参数:NA
dic = { "python3":123} print(dic.clear()) None def main(): my_dict = { 子: 鼠, 丑: 牛, 寅: 虎, 卯: 兔, 辰: 龙, 巳: 蛇, 午: 马, 未: 羊, 申: 猴, 酉: 鸡, 戌: 狗, 亥: 猪} print(子 in my_dict.keys()) print(鼠 in my_dict.values()) print(小伍哥 in my_dict.keys()) print(小伍哥 in my_dict.values()) print ("字典长度 : %d" % len(my_dict)) # 清空字典的指定用法 my_dict.clear() print(my_dict) print ("字典删除后长度 : %d" % len(my_dict)) if __name__ == __main__: main() #运行结果 True True False False 字典长度 : 12 { } 字典删除后长度 : 03. copy()
描述:返回一个字典浅拷贝的副本
语法:dict.copy()
参数:无
dict1 = { Name: Xiaowuge, Age: 17}; dict2 = dict1.copy() str(dict2) "{ Name: Xiaowuge, Age: 17}" dict_0 = { name:xiaowuge,age:18,proerty:shuai} dict_0 { name: xiaowuge, age: 18, proerty: shuai} dict_1 = dict_0.copy() dict_1 { name: xiaowuge, age: 18, proerty: shuai} dict_0.update({ age:28}) dict_0 { name: xiaowuge, age: 28, proerty: shuai} dict_1 { name: xiaowuge, age: 18, proerty: shuai注意:python字典的复制、浅拷贝和深拷贝的区别
复 制:跟原字典完全一样
浅拷贝:将原字典拷贝一份,但是没有拷贝原字典中的子对象,所以当原字典中的子对象发生变化时,浅拷贝后的字典也会发生变化
深拷贝:将原字典连同其子对象一块进行了拷贝,所以深拷贝后的字典不会随着原字典的变化而改变
代码示例:
import sys import copy def main(): d0 = { 1:"a", 2:"b", 3:"c", 4:[1,2,3]} d1 = d0 d2 = d0.copy() d3 = copy.deepcopy(d0) print ("d0:", d0) print ("d1:", d1) print ("d2:", d2) print ("d3:", d3) print ("*"*10, "原字典d0改变后") d0[1] = "aa" d0[4].append(4) print ("d0:",id(d0),d0) print ("d1:",id(d1),d1) print ("d2:",id(d2),d2) print ("d3:",id(d3),d3) if __name__ == "__main__": main() d0: { 1: a, 2: b, 3: c, 4: [1, 2, 3]} d1: { 1: a, 2: b, 3: c, 4: [1, 2, 3]} d2: { 1: a, 2: b, 3: c, 4: [1, 2, 3]} d3: { 1: a, 2: b, 3: c, 4: [1, 2, 3]}很赞哦!(95)
相关文章
- 国内域名
- 域名和网址一样吗?域名和网址有什么区别?
- 2、根据用户基础选择访问提供程序。由于互联问题的存在,接入商的选择也非常重要,如果用户群主要在联通,尽量选择联通接入较好的接入商,如果用户群主要在电信,那么选择电信接入较好的接入商。如果用户组位于国家/地区,则选择更好的访问提供程序进行交互。
- 5、使用企业名称的英文名称作为域名也是国内许多企业选择域名的一种方式,特别适合一些与计算机、网络和通信相关的行业。
- 4、说起来容易
- 公司名字不但要与其经营理念、活动识别相统一,还要能反映公司理念,服务宗旨、商品形象,从而才能使人看到或听到公司的名称就能产生愉快的联想,对商店产生好感。这样有助于公司树立良好的形象。
- 评估域名涉及的行业规模与发展状况成正比。
- 投资各类域名就像到处打游击战,结果处处失败。因为这样,对任何一个中国域名市场的走势和价格都没有准确的把握,所以最好缩小范围,准确把握战场态势,埋伏。
- 在更换域名后,并不是就万事大吉了,我们需要将旧域名做301重定向到新域名上,转移旧域名的权重到新域名上。
- 6、提示添加成功,点击确认进行最后的确定操作。一般10分钟就解析生效,可以用域名进行访问了。
站长推荐
什么样的邮箱才是安全的电子邮件地址?
.com域名是国际最广泛流行的通用域名,目前全球注册量第一的域名,公司企业注册域名的首选。国际化公司通常会注册该类域名。
为了避免将来给我们的个人站长带来的麻烦,在选择域名后缀时,我们的站长最好省略不稳定的后缀域名,比如n,因为我们不知道策略什么时候会改变,更不用说我们将来是否还能控制这个域名了。因此,如果站长不是企业,或者有选择的话,如果不能选择域名的cn类,最好不要选择它。
5. 四种状态过后,域名管理机构释放域名给公众注册。
尽量不要在域名中出现特殊字符,这样的域名很容易导致访问者输入错误,同时给人留下不专业的印象,降低网站的可信度,并流失大量潜在客户。
4、选择一个安全的域名注册商进行域名注册
tk域名是什么域名?新手对tk域名有什么看法?
2、根据用户基础选择访问提供程序。由于互联问题的存在,接入商的选择也非常重要,如果用户群主要在联通,尽量选择联通接入较好的接入商,如果用户群主要在电信,那么选择电信接入较好的接入商。如果用户组位于国家/地区,则选择更好的访问提供程序进行交互。