python学习之基础知识(三)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/IamSarah/article/details/77900448
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()函数就特别有用。

猜你喜欢

转载自blog.csdn.net/IamSarah/article/details/77900448
今日推荐