卖磁铁的网站怎么做,长沙优化科技有限公司地址,用树莓派做网站服务器,全球电商平台排行榜目录 1 什么是字典
2 使用字典
2.1 访问字典中的值
2.2 添加键值对
2.3 创建空字典
2.4 修改字典中的值
2.5 删除键值对
2.6 类似键值对组成的字典
2.7 使用get#xff08;#xff09;来访问值
3 遍历字典
3.1 遍历所有键值对
3.2 遍历字典中的所有键
3.3 按照特…目录 1 什么是字典
2 使用字典
2.1 访问字典中的值
2.2 添加键值对
2.3 创建空字典
2.4 修改字典中的值
2.5 删除键值对
2.6 类似键值对组成的字典
2.7 使用get来访问值
3 遍历字典
3.1 遍历所有键值对
3.2 遍历字典中的所有键
3.3 按照特定的顺序遍历字典中的所有键
3.4 遍历字典中的所有值
4 嵌套
4.1 字典列表
4.2 列表字典
4.3 字典中储存字典 1 什么是字典 对于字典这个词而言想到的第一印象会关联到小时候学习汉字时所使用的那本名叫《新华字典》的一本厚书。而对于Python而言字典的概念就很重要了举一个小例子简单看一下什么是字典。
alien_0 {color: green, points: 5}
print(alien_0[color])
print(alien_0[points]) 2 使用字典 在Python中字典是一系列键值对。每一个键都与一个值相关联可以使用键来访问相关联的值。我的理解就是在c语言中的指针键对应着指针域值对应着数据域换句话说就是键指向指也就是Python语法中的键关联着值。字典用 {} 中的一些列键值对来表示。键与值之间用冒号分隔而键值对之间用逗号分隔开。
2.1 访问字典中的值
要获取与键相关联的值可以依次指定字典名和放在方括号中的键就像这样使用
alien_0 {color: green, points: 5}
print(alien_0[color])
直接指向对应的键就可以访问对应的值。
2.2 添加键值对 字典是一个种动态结构可随时在其中添加键值对。要添加键值对时可依次指定字典名、用方括号括起的键和相关联的值。
alien_0 {color: green, points: 5}
print(alien_0)
alien_0[x_position] 0
alien_0[y_position] 25
print(alien_0)2.3 创建空字典
alien_0 {}
alien_0[x_position] 0
alien_0[y_position] 25
print(alien_0)2.4 修改字典中的值
alien_0 {color: green, points: 5}
alien_0[color] red
print(alien_0)2.5 删除键值对 对于删除键值对可使用del语句将相应的键值对彻底删除。
注意使用del语句是时必须指定字典名和要删除的键。
alien_0 {color: green, points: 5}
print(alien_0)
del alien_0[points]
print(alien_0)2.6 类似键值对组成的字典 字典作为一种数据结构本身是用来存放数据的但是由于各种数据所要求的键值对的名称都不相同可以使用字典存储众多对象中的同一种信息。
favorite_languages {jen: python,sarah: c,edward: ruby,phil: python,
}for name, language in favorite_languages.items():print(name.title() s favorite language is language.title() .) 2.7 使用get来访问值 在使用放在方括号的键从字典中获取感兴趣的值时可能会引发问题如果指定的键不存在就会出错。
favorite_languages {jen: python,sarah: c,edward: ruby,phil: python,
}print(favorite_languages[cloris]) 如果在指定的键不存在的时候返回一个默认值就可以使用get方法。
get第一个参数用于指定键是必不可少的第二个参数为指定的键不存在时候要的返回值是可选的。
favorite_languages {jen: python,sarah: c,edward: ruby,phil: python,
}print(favorite_languages.get(cloris, NOT cloris)) 3 遍历字典 对于一个字典来说可能只包含几个键值对也可能是好几百万个字典是可以变量各种方式存储信息因此用多种遍历方式可大量遍历字典的所有键值对也可仅遍历键或者值。
3.1 遍历所有键值对
favorite_languages {jen: python,sarah: c,edward: ruby,phil: python,
}for name, language in favorite_languages.items():print(name.title() s favorite language is language.title() .) 使用for循环就可以遍历所有的键值对声明两个变量用于存放键值对中的键和值。for语句的第二部分包含字典名和方法items(),它返回一个键值对列表。
3.2 遍历字典中的所有键
在不需要使用字典中的值时使用方法keys可以实现遍历键。
favorite_languages {jen: python,sarah: c,edward: ruby,phil: python,
}for name in favorite_languages.keys():print(name.title() ) 注意如果用这个语句其结果输出不会改变 for name in favorite_languages: 也就是说keys是可以省略的 。 3.3 按照特定的顺序遍历字典中的所有键 从Python3.7起遍历字典时将按插入的顺序返回其中的元素。
要以特定顺序返回元素一种方法是在for循环中对返回的键进行排序可使用sorted来获得按特定顺序排列的键列表。
favorite_languages {jen: python,sarah: c,edward: ruby,phil: python,
}for name in sorted(favorite_languages.keys()):print(name.title() )
favorite_languages {1: python,3: c,88: ruby,2: python,
}for name in sorted(favorite_languages.keys()):print(name.title() ) 3.4 遍历字典中的所有值
如果主要对字典包含的值感兴趣没可使用values来返回一个值列表。
favorite_languages {1: python,3: c,88: ruby,2: python,
}for name in favorite_languages.values():print(name.title() ) 这种方法提起字典中的所有值。并没有考虑到是否有重复的情况在这种情况下如果值较少到时问题不大如果值很多的时候就可能会出现大量的重复项可使用集合set其中的每一个元素都是独一无二的。
favorite_languages {1: python,3: c,88: ruby,2: python,
}for name in set(favorite_languages.values()):print(name.title() ) 注意集合是可以使用一对花括号直接创建的并在其中用逗号分隔元素
languages{python,c,ruby}
print(languages) 注意集合和字典很容易混淆因为它们都是用一对花括号定义的区别在于花括号没有键值对时定义为集合有键值对时是字典。看有没有。 4 嵌套
有时候需要将一系列字典存储在列表中或将列表作为值存储在字典中这称为嵌套。可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。
4.1 字典列表
aline_0 {color:red,point:5}
aline_1 {color:blue,point:10}
aline_2 {color:green,point:15}alines [aline_0,aline_1,aline_2]for aline in alines:print(aline) 字典列表本质上是一个列表和指针函数和函数指针一样的性质。
4.2 列表字典
pizza {crust: thick, toppings: [mushrooms, extra cheese]}
print(pizza)
for topping in pizza[toppings]:print(topping) 字典列表本质上是一个字典其中的元素中为列表也就是说在使用这个数据类型时要先创建一个字典然后其中的元素数据类型可以定义为列表。
4.3 字典中储存字典
user {aeinstein: {first: albert,last: einstein,location: princeton,},mcurie: {first:marie,last: curie,location: paris,},
}
for username, user_info in user.items():print(f\nUsername: {username})full_name f{user_info[first]} {user_info[last]}location user_info[location]print(fFull name: {full_name.title()})print(fLocation: {location.title()}) 定义了一个名为users的字典其中包含两个键每一个键对应的值都是一个字典其中包含用户的名和姓等信息。然后遍历users让依次访问对应的值。