您的位置:首页 > 编程语言 > Python开发

python学习之基础知识(三)

2017-09-08 23:21 281 查看
1,字典数据类型:像列表一样,“字典”是很多值的集合。但不像列表的下标,字典的索引可以使用许多不同的数据类型,不只是整数。字典的索引被称为“键”,键及其关联的值被称为“键-值”对。在代码中,字典的输入使拥花括号{}。示例如下:

mycat={'size':'fat','color':'grey','disposition':'loud'}

这句代码将一个字典赋值给mycat变量。这个字典的键值是‘size','color','disposition',这些键相应的值是:’fat','grey','loud',可以通过他们的键值访问这些值。例如:

mycat['size']

输出结果就是’fat'

字典也可以使用整数作为键值,就像用列表使用整数作为下标,但是它们没有必要从0开始,可以是任何数字。示例如下;

spam={'12345':'lugggage combinatiion','42':'the answer'}

2.字典与列表相比,字典中的表项是不排序的,因此不能像列表那样切片。字典可以使用任何值作为键。

3.keys(),values()和items():这3个函数返回类似列表的值,分别对应于字典的键、值和键-值对。这三个函数返回的值不是真正的列表,它们不能被修改,没有append()方法。但这些数据类型可以用于for循环。示例如下:

spam={'color':'red','age':'42'}

for v in spam.values():

    print(v)

程序输出:red,42

for k in spam.keys():

    print(k)

程序输出:color,age

for i in spam.items()

    print(i)

程序输出:(‘color':'red')

           ('age':'42')

items()函数返回的dic_items值中,包含的是键和值的元组。

4.如果希望通过keys(),values()和items()函数的返回值是列表类型,需要把类似列表的返回值传递给list函数,示例如下:

spam={'color':'red','age':'42'}

list(spam.keys())

程序的输出结果为['color','age'],为列表类型。

5.检查字典中是否存在键值:使用in和not in操作符,示例如下:

spam={'color':'red','age':'42'}

’name' in spam.keys()

程序的输出结果是‘False'

6.get()方法:在访问一个键的值之前,检查该键是否存在于字典之中,这很麻烦。字典中有一个get()方法,它有两个参数:要取得其值的键,以及该键的值不存在是,返回备用值。示例如下:

spam={'apple':2,'cup':'3'}

spam.get('apple',0)

程序会输出2

spam.get('egg',0)

程序会输出0,因为egg不存在spam字典的键中,因此返回默认的0值来说明该情况。

7.setdefault(var1,var2):该函数传递了两个参数,var1表示的是要检查的键,var2表示的如果该键不存在时要设置的值,如果该键确实存在,就会返回已经存在的键值,示例如下:

>>> spam={'name':'ruirui','age':23}

>>> spam.setdefault('height','you can guess')

'you can guess'

>>> spam.setdefault('height',155)

'you can guess'

setdefault()函数是一个很好的快捷方式,可以确保一个键存在。例如可以使用这个函数计算一个字符串中每个字符出现的次数。如下所示:

message='it was a bright cold day in April,and the clocks were striking thirteen.'

count={}

for char in message:

         count.setdefault(char,0)

         count[char]=count[char]+1

print(count)

输出结果为:{'i': 7, 't': 6, ' ': 12, 'w': 2, 'a': 4, 's': 3, 'b': 1, 'r': 5, 'g': 2, 'h': 3, 'c': 3, 'o': 2, 'l': 3, 'd': 3, 'y': 1, 'n': 4, 'A': 1, 'p': 1, ',': 1, 'e': 5, 'k': 2, '.': 1}

8.pprint模块:用于漂亮打印,该模块中有pprint()和pformat()函数,它们可以’漂亮打印‘一个字典的字。示例如下:

还是上面的程序,不过将print(count)替换为pprint.pprint(count),其输出结果如下:

{' ': 12,

 ',': 1,

 '.': 1,

 'A': 1,

 'a': 4,

 'b': 1,

 'c': 3,

 'd': 3,

 'e': 5,

 'g': 2,

 'h': 3,

 'i': 7,

 'k': 2,

 'l': 3,

 'n': 4,

 'o': 2,

 'p': 1,

 'r': 5,

 's': 3,

 't': 6,

 'w': 2,

 'y': 1}

 如果字典本身包含嵌套的列表或者字典,pprint()函数就特别有用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 字典