Python——字典(python字典添加键和值)

网友投稿 1704 2022-08-19

Python——字典(python字典添加键和值)

1 ##字典

2 '''

3 字典是一系列键 — 值对。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。

4 事实上,可将任何Python对象用作字典中的值。

5 '''

6 ##初始化book字典

7 book={'类别':'教育书籍','书名':'python从入门到实践'}

8 print(book)

9 print(book['类别'])

10 print(book['书名'])

11 ##访问字典的值

12 book_name=book['书名']

13 print(book_name)

14 ##添加键值对(字典是动态结构,可随时添加键值对。可依次指定字典名、用方括号括起的键和相关联的值)

15 book['数量']=20

17 print(book)

18 ##创建空字典,并添加键值对

19 phone={}

20 phone['类别']='智能机'

21 phone['名称']='华为'

22 print(phone)

23 ##修改字典中的值

24 phone['名称']='苹果'

25 print(phone)

26 phone={'名称':'小米',}##对字典重新赋值的操作

27 print(phone)

28 ##案例:

29 '''

30 对一个能够以不同速度移动的外星人的位置进行跟踪。为此,我们

31 将存储该外星人的当前速度,并据此确定该外星人将向右移动多远:

32 '''

33 alien={'x_position':0,'y_position':25,'speed':'medium'}

34 print("orignal x_position:"+str(alien['x_position']))

35 # 向右移动外星人

36 # 据外星人当前速度决定将其移动多远

37 if alien['speed']=='slow':

38 x_increment=1

39 elif alien['speed']=='medium':

40 x_increment=2

41 else:

42 x_increment=3

43 # 新位置等于老位置加上增量

44 alien['x_position']+=x_increment

45 print('new x_position:'+str(alien['x_position']))

46

47 ##删除键值对

48 element={'名称':'字典元素','数量':20,'大小':8}

49 print(element)

50 del element['大小']

51 print(element)

52 ##字典的另外一种写法

53 favorite_languages={

54 'jen':'python',

55 'ben':'java',

56 'edward':'ruby',

57 'phil':'c',

58 }

59 ###遍历字典(遍历所有的键 —值对)

60 print('遍历favorite_languages所有的键-值对:')

61 for key,value in favorite_languages.items():

62 print('\nkey:'+key)

63 print('value:'+value+'\n')

64 '''

65 注意,即便遍历字典时,键 — 值对的返回顺序也与存储顺序不同。Python不关心键 — 值对的存

66 储顺序,而只跟踪键和值之间的关联关系。

67 '''

68 ##按顺序遍历字典的所有键

69 print('按顺序遍历字典的所有键:')

70 for key in favorite_languages.keys():

71 print(key)

72 ##按顺序遍历字典的所有值:

73 print("按顺序遍历字典的所有值:")

74 for value in favorite_languages.values():

75 print(value)

76 '''

77 上面这种做法提取字典中所有的值,而没有考虑是否重复。涉及的值很少时,这也许不是问题,但如果被调查者很多,

78 最终的列表可能包含大量的重复项。为剔除重复项,可使用集合(set)。集合类似于列表,但每个元素都必须是独一无二的:

79 '''

80 favorite_food={

81 '小明':'红烧肉',

82 '康康':'莲藕',

83 '增哥':'红烧肉',

84 '强哥':'火锅',

85 }

86 print('按顺序遍历字典的所有值,有重复项:')

87 for food in favorite_food.values():

88 print(food)

89 ###使用集合set()剔除重复项

90 print('使用集合set()剔除重复项之后的值:')

91 for food in set(favorite_food.values()):

92 print(food)

93 ##嵌套字典

94 '''

95 有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。你

96 可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。

97 '''

98 my_list1={'color':'red','point':5}

99 my_list2={'color':'green','point':6}

100 my_list3={'color':'black','point':8}

101 '''嵌套字典'''

102 my_list=[my_list1,my_list2,my_list3]

103 print('遍历这个嵌套字典列表:')

104 for my_list_show in my_list:

105 print(my_list_show)

106 '''案例2:'''

107

108 # 创建一个用于存储外星人的空列表

109 print('----------------------------------')

110 print('------------外星人-------------')

111 alien_dict=[]

112 #创建30个外星人

113 for alien_number in range(30):

114 new_alien={'color':'green','point':5,'speed':'slow'}

115 alien_dict.append(new_alien)

116 #修改外星人的值

117 for alien_show in alien_dict[:3]:

118 if alien_show['color']=='green':

119 alien_show['color']='yellow'

120 alien_show['speed']='fast'

121 alien_show['种类']='精英'

122 #显示前五个外星人

123 print('显示前五个外星人')

124 for alien_show in alien_dict[:5]:

125 print(alien_show)

126

127 ## 显示创建了多少个外星人

128 print('共创建了外星人有:'+str(len(alien_dict)))

129

130 ##在字典中存储列表

131 #披萨的信息

132 pizza={

133 '厨师':'汤米',

134 '配料':['生菜','鸡蛋','面粉','牛肉']

135 }

136 #概述所点披萨

137 print('披萨的厨师是:'+str(pizza['厨师'])+'\n配料有:')

138 for topping in pizza['配料']:

139 print('\t'+topping)

140 love_language={

141 '小明':['C语言','Python'],

142 '强哥':['C语言','shell'],

143 '平哥':['python'],

144 '康康':['C#'],

145 }

146 for name,languages in love_language.items():

147 print('\n'+name+'喜欢的语言有:')

148 for lang in languages:

149 print(lang)

150 ##在字典中存储字典和列表

151 print('------------------------------------')

152 print('打印张三丰和王重阳的信息:')

153 users={

154 '张三丰':{

155 '姓氏':'张',

156 '名称':'三丰',

157 '居住地':'武当山',

158 '门派':'武当派',

159 '嫡传弟子':['宋远桥','俞莲舟','俞岱岩','张松溪','张翠山','殷梨亭','莫声谷']

160 },

161 '王重阳':{

162 '姓氏':'王',

163 '名称':'重阳',

164 '居住地':'终南山',

165 '门派':'全真教',

166 '嫡传弟子':['马钰','谭处端','刘处玄','丘处机','王处一','郝大通','孙不二']

167 }

168 }

169 for user_name,user_info in users.items():

170 print('姓名:'+user_name)

171 last_name=user_info['姓氏']

172 first_name=user_info['名称']

173 home=user_info['居住地']

174 family=user_info['门派']

175 child=user_info['嫡传弟子']

176 print('姓氏:'+last_name)

177 print('名称:'+first_name)

178 print('居住地:'+home)

179 print('门派:'+family)

180 print('嫡传弟子:'+str(child))

181 print('\n\n\n')

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python学习笔记:断言(python 正则表达式 断言)
下一篇:Python——输入输出及while循环
相关文章

 发表评论

暂时没有评论,来抢沙发吧~