映射
brand = [ '李宁' , 'NIKE' , 'Adidas' ]
slogan = [ '一切皆有可能' , 'Just do it' , 'Impossible is nothing' ]
print ( 'Nike的口号是:' , slogan[ brand. index( 'NIKE' ) ] )
字典
字典用{}号来表示,元组是(),列表是[],但是元组和列表都是序列类型,而字典并不是序列类型,是映射类型。
brand = [ '李宁' , 'NIKE' , 'Adidas' ]
slogan = [ '一切皆有可能' , 'Just do it' , 'Impossible is nothing' ]
print ( 'Nike的口号是:' , slogan[ brand. index( 'NIKE' ) ] )
dict1 = { '李宁' : '一切皆有可能' , 'YSL' : '编程使我快乐' }
print ( '李宁的口号是:' , dict1[ '李宁' ] )
dict2 = { 1 : 'one' , 2 : 'two' }
print ( dict2[ 2 ] )
dict3 = dict ( ( ( 'F' , 70 ) , ( 'i' , 105 ) , ( 's' , 115 ) ) )
print ( dict3)
dict4 = dict ( YSL= '硕士' , 马云= '我对钱没有兴趣' )
print ( dict4)
dict4[ '马化腾' ] = '让充钱改变世界'
print ( dict4)
fromkeys
fromkeys方法 可以创建返回一个新的字典 注意是新的字典
有两个参数第一个是字典的键值,第二个是键值对应的值默认为None
None表示一个对象,一个什么都没有的对象,可以理解为空
dict1 = { }
dict2 = dict1. fromkeys( ( 1 , 2 , 3 ) )
print ( dict1)
print ( dict2)
dict2 = dict1. fromkeys( ( 1 , 2 , 3 ) , ( 'one' , 'two' , 'three' ) )
print ( dict2)
keys() 获取字典中所有的键并放入列表
dict1 = { }
dict1 = dict1. fromkeys( range ( 10 ) , '牛' )
print ( dict1)
for eachkey in dict1. keys( ) :
print ( eachkey)
0
1
2
3
4
5
6
7
8
9
values()获取字典中所有的值并放入列表
items()获取字典中所有的键值对并放入列表
get()根据键获取字典中的值,如果键不存在则返回一个默认值,默认值不填写则返回None
继上面的例子 print(dict1.get(10)) #输出None
print(dict1.get(9)) #输出牛
如果不知道一个键是否在字典中,可以用成员资格操作符进行判断
依然借助上面的例子
print ( 9 in dict1)
print ( 10 in dict1)
clear()清空字典
copy()浅拷贝
copy()等于又复制了一份字典出来,等于现在在内存中有两份字典。
id()函数可以查询在内存中的地址
pop()与popitem()
pop()方法删除字典给定键 key 所对应的值,返回值为被删除的值,
如果要删除的 key 不存在,则需要添加默认值,否则会报错。
popitem() 方法随机返回并删除字典中的一对键和值。
如果字典已经为空,却调用了此方法,就报出KeyError异常。
a = { 1 : 'one' , 2 : 'two' , 3 : 'three' }
a. pop( 2 )
print ( a)
a = { 1 : 'one' , 2 : 'two' , 3 : 'three' }
a. popitem( )
print ( a)
setdefault()
与get()类似,但是setdefault()在字典中找不到对应的键的时候,会自动进行添加。
a = { 1 : 'one' , 2 : 'two' , 3 : 'three' }
a. setdefault( '小白' )
print ( a)
a. setdefault( 4 , 'four' )
print ( a)
update()利用一个字典或映射关系去更新另外一个字典
a = { 1 : 'one' , 2 : 'two' , 3 : 'three' }
b = { '小白' : '猫' }
a. update( b)
print ( a)
注意:字典 update() 方法用于更新字典中的键值对
可以修改存在的键值对应的值,也可以添加新的键值对到字典中
d = { 'one' : 1 , 'two' : 2 }
d. update( { 'one' : 3 , 'two' : 4 } )
print ( d)
集合:在我的世界里,你就是唯一!
num = { }
print ( type ( num) )
num = { 1 , 2 , 3 }
print ( type ( num) )
num2 = { 1 , 2 , 3 , 3 , 2 , 1 , 4 }
print ( num2)
'''如何创建集合?
1.直接把一堆元素用花括号括起来
2.用set()工厂函数
'''
set1 = set ( [ 1 , 2 , 3 , 3 , 4 , 4 , 5 ] )
print ( set1)
'''去掉列表重复的元素1'''
num = [ 1 , 2 , 3 , 4 , 5 , 5 , 0 , 0 , 1 ]
temp = [ ]
for each in num:
if each not in temp:
temp. append( each)
print ( temp)
'''去掉列表重复的元素2'''
num = list ( set ( num) )
print ( num)
'''如何访问集合中的值
1.可以使用for把集合中的数据一个个读取出来
2.可以通过in和not in判断一个元素是否在集合中已经存在
'''
print ( 1 in num)
print ( '1' in num)
add()和remove()
num = { 1 , 2 , 3 , 4 , 5 }
num. add( 6 )
print ( num)
num. remove( 5 )
print ( num)
不可变集合
num = frozenset ( [ 1 , 2 , 3 , 4 , 5 , 6 , 7 ] )
num. add( 0 )
num. remove( 7 )