Python的字典,小白的学习笔记,一块儿加油哦!

一、Python中列表与元组的区别:java

–列表:能够经过索引改变列表中的值,例如“list1[1]=‘XXXX’”python

–元组:没法经过索引改变某一个特定的值,例如“group1[1]=‘XXXX’”–error!
“group1=(‘X’,‘XXXX’,…)”–right!
title(),upper(),lower()是对列表的元素操做,不是对整个列表操做;
列表:[ ]
元组:()
二、字典:{ }字典中的键能够对应的是数字,字符串,列表乃至另一个字典
例如:alien={‘color_1’:‘green’,‘point_1’:5}
其中color_1和point_1为“键”,green和5为他们的值对
键-值对是两个相关联的值
在访问字典中的值时,相似于列表的索引,例如,想要打印alien的’color_1’的值对,能够用alien[‘color_1’]实现c++

三、能够随时向python的字典中添加键-值对,代码以下web

>>>aline['hanhan']='hanhan'
>>>print(aline)
{'color': 'green', 'point': 5, 'hanhan': 'hanhan'}在这里插入代码片

注意:键-值对的排列顺序和添加顺序不同,Python 只关心键和值对之间的关联关系编程

四、修改字典中的值,代码以下app

>>> color={'a':'green'}
>>> print(color)
{'a': 'green'}
>>> color['a']='yellow'
>>> pritn(color)
{'a': 'yellow'}

五、删除字典中的元素:使用del删除,可是要指定自定变量名以及键(删除后这一对键-值对将会永远消失)dom

>>> del aline['color']
>>> print(aline)
输出示例:{'point': 5, 'hanhan': 'hanhan'}

六、遍历字典:keys(),values(),items(),例子以下:编程语言

>>>favorite_language={'wanglongtai':'c','tiankang':'java',
    'wangyanping':'python'}
>>> for name,language in favorite_language.items():
	print(name.title()+"'s favorite language is "+language.title()+'.')
输出示例:
Wanglongtai's favorite language is C.
Tiankang's favorite language is Java.
Wangyanping's favorite language is Python.
>>> for name in favorite_language.keys():
	print(name.title())
输出示例:
Wanglongtai
Tiankang
Wangyanping
>>> for language in favorite_language.values():
	print(language.title())	
输出示例:
C
Java
Python

其实keys返回的是一个列表,因此可用for循环遍历keys列表中的元素svg

七、在某一个字典中,键有不少,相关联的值对也有不少,而重复的值对也有不少,为了使值对输出时每一个值都是独一无二的,可以使用set(集合)函数

>>> favorite_language={'jen':'python','jonh':'c++','mike':'java','tom':'python'}
>>> for language in set(favorite_language.values()):
	print(language.title())	
输出示例:
Python
Java
C++

八、字典的嵌套(十分强大)

>>> alien_0={'color':'green','point':5}
>>> alien_1={'color':'yellow','point':10}
>>> alien_2={'color':'red','point':15}
>>> aliens=[alien_0,alien_1,alien_2]
>>> for alien in aliens:
	print(alien)	
输出示例:
{'color': 'green', 'point': 5}
{'color': 'yellow', 'point': 10}
{'color': 'red', 'point': 15}

九、字典中嵌套列表


使用该方法可以使得一个键可对应多个值对,在”六、“中可以使用此法让每一个人有多个喜欢的编程语言

customer_pizza={'crust':'thick','toppings':['mushrooms','extra cheese']}
print('you orderd a '+customer_pizza['crust']+
       '-pizza with the following toppings:')
for each_topping in customer_pizza['toppings']:
       print('\t'+each_topping)
输出示例:
you orderd a thick-pizza with the following toppings:
	mushrooms
	extra cheese

十、字典中嵌入字典

这样作,代码会复杂起来,若是在嵌套的字典中每个键又不一样,那代码将会更加复杂

user={'aTom':{'first_name':'amy','last':'tom','address':'china'},
      'mlise':{'first_name':'mohande','last':'lise','address':'USA'}}
for user_name,user_info in user.items():
       print("Username:"+user_name)
       full_name=user_info['first_name']+user_info['last']
       print("\tfull name:"+full_name.title())
       print("\taddress:"+user_info['address'].upper())
输出示例:
Username:aTom
	full name:Amytom
	address:CHINA
Username:mlise
	full name:Mohandelise
	address:USA

下面以一段小代码结束这次笔记吧,这段代码是后续章节“外星人”小游戏中,如何随机产生外星人的代码(确切的说是思路吧),引用了random模块

import random  #引入产生随机数模块
aliens=[]
alien_1={'color':'green','speed':'slow','point':5}
alien_2={'color':'yellow','speed':'medium','point':10}
alien_3={'color':'red','speed':'fast','point':15}
for i in range(0,30): #产生三十个外星人
       number=random.randint(1,4) #随机产生1,2,3中的一个数
       if number==1:
              aliens.append(alien_1)
       elif number==2:
              aliens.append(alien_2)
       else:
              aliens.append(alien_3)  #append函数在列表末尾添加列表元素
for each_alien in aliens:
       print(each_alien)
 输出示例:
 {'color': 'red', 'speed': 'fast', 'point': 15}
{'color': 'yellow', 'speed': 'medium', 'point': 10}
{'color': 'red', 'speed': 'fast', 'point': 15}
{'color': 'green', 'speed': 'slow', 'point': 5}
{'color': 'red', 'speed': 'fast', 'point': 15}
......

应该有三十个输出的,可是这里省略了大部分

emmmm,这是在学习Python作的笔记,今天第一次使用了有道云笔记作笔记,而后心血来潮想写个博客,嘿嘿。。。 我英语很差,可能在定义变量时会出现单词拼写错误,各位大佬不要介意 初学Python,不少地方不懂,若是笔记中出现某些代码错误,但愿大佬给我指出来。而后前几天已经把列表和元组学完了,也没有作详细的笔记,因此在开头只是简单介绍了一下列表和元组的区别,本文的绝大部分全是介绍字典的,应该比较详细了吧(资料上就这些,有些很简单的代码没有写)。 而后本身也没有注释代码的这个好习惯,哪位哥哥能够喷我一会儿,或许之后就会记住吧。 欢迎评论指正哦!