格式:

    dict = {key: value}

    变量 = set(list); ---> s = set([1, 2, 4])

注:dict、set的key必须是不可变对象

区别:1、dict有value,set没有

           2、set可以做交集&,并集| 运算,dict 不能


一、dirct

#!/usr/bin/python


#initialize

dict = {'you':95, 'love':20, 'me':5};  # 若存在dict = {'you', 'love':, :8} 格式是错误的,key:value要配齐
print dict;
print dict['love'];

initialize.PNG


#add a key

dict['too'] = 1;
print dict;

add.PNG


#delete a key, its value also delete
dict.pop('love');
print dict;

delete.PNG


#a way of check in dict
print 'you' in dict;  #格式:key in dict;

get.PNG


#other way of check in dict
print dict.get('haha');      #当key不存在,默认返回None ,若存在返回value
print dict.get('haha', -1); #当key不存在,-1为指定的返回值

print dict.get('you', 1);

check.PNG


二、set

#!/usr/bin/python


#initialize

s = set([1, 2, 3, 4, 4]);  #key重复会自动合并
print s;

1.PNG


#add
s.add(5);
print s;

2.PNG


#delete
s.remove(4);
print s;

3.PNG


# & / |
s1 = set([1, 2, 3]);
s2 = set ([2, 4, 5]);
s3 = s1 & s2;
print s3;
print s1 | s2;

4.PNG


list = ['y', 'o', 'u', 'l', 'o'];
q = set(list);
print q;

5.PNG


tuple = ('1', '2', '3');
x = set(tuple);
print x;

6.PNG


#error way

tuple = ('1', ['2', '3']);
x = set(tuple);
print x;

error.PNG

可见set并不支持混合的key。




补充:

.clear()

清空dict内容:

dict = {'Name': 'Zara', 'Age': 7};
dict.clear()
print "End Len : %d" %  len(dict)
print dict

End Len : 0
{}


del

a.删除item

dict = {'Name': 'Zara', 'Age': 7};
del dict['Name']
print "End Len : %d" %  len(dict)
print dict

End Len : 1
{'Age': 7}


b.删除dict

dict = {'Name': 'Zara', 'Age': 7};
del dict
print "End Len : %d" %  len(dict)
print dict

Traceback (most recent call last):
  File "/usercode/file.py", line 11, in <module>
    print "End Len : %d" %  len(dict)
TypeError: object of type 'type' has no len()