1.集合

集合set是无序的,集合中不能有重复元素。

(1)创建集合

两种创建方法

  • set(参数),参数可以是字符串、列表、元组、集合和字典。
  • {元素1,元素2,...,元素n},元素间逗号分隔,使用大括号括起来。
>>> set('HelloWorld')
{'W', 'r', 'H', 'd', 'e', 'l', 'o'}
>>> {5,7,8,9,7,6,9,3}
{3, 5, 6, 7, 8, 9}
>>> b = {}
>>> type(b)
<class 'dict'>

(2)修改集合

类似修改列表,可进行插入和删除元素操作。

add(x):添加元素,如果元素已存在,不能添加,也不报错。

remove(x):删除元素,如果元素不存在,会报错。

clear():清空集合。

>>> p_set = {'孙悟空','唐僧','猪八戒','沙和尚'}
>>> p_set.add('白龙马')
>>> p_set
{'沙和尚', '唐僧', '孙悟空', '白龙马', '猪八戒'}
>>> p_set.remove('唐僧')
>>> p_set
{'沙和尚', '孙悟空', '白龙马', '猪八戒'}
>>> '唐僧' in p_set  #可用in或not in 判断元素是否存在
False
>>> p_set.clear()
>>> p_set
set()

2.字典

字典dict是通过key来访问元素的数据类型,字典元素是可以改变的

字典包括键key和值value,也叫键值对,键不能重复,值能重复。

(1)创建字典

两种方法:

  • dict( )
  • {key1:value1,key2:value2,...,key_n:value_n}:键值对间用逗号分隔,用大括号括起来
>>> dict({101:'唐僧',102:'孙悟空',103:'猪八戒',104:'沙和尚'})
{101: '唐僧', 102: '孙悟空', 103: '猪八戒', 104: '沙和尚'}
>>> dict(zip([101,102,103,104],['唐僧','孙悟空','猪八戒','沙和尚']))
{101: '唐僧', 102: '孙悟空', 103: '猪八戒', 104: '沙和尚'}
>>> dict1 = {101: '唐僧', 102: '孙悟空', 103: '猪八戒', 104: '沙和尚'}
>>> dict1
{101: '唐僧', 102: '孙悟空', 103: '猪八戒', 104: '沙和尚'}

zip()函数将两个对象打包成元组,第一个部分是字典的键,第二部分是字典的值,要一一对应。

(2)修改字典

字典修改操作包括添加、更换和删除,需要键和值同时操作

  • 赋值不存在键,实现添加键值对
  • 赋值存在键,实现更改某键的值
  • pop(key)删除某键值对
>>> dict1 = {101: '唐僧', 102: '孙悟空', 103: '猪八戒', 104: '沙和尚'}
>>> dict1[105] = '白龙马'
>>> dict1
{101: '唐僧', 102: '孙悟空', 103: '猪八戒', 104: '沙和尚', 105: '白龙马'}
>>> dict1[102] = '六耳猕猴'
>>> dict1
{101: '唐僧', 102: '六耳猕猴', 103: '猪八戒', 104: '沙和尚', 105: '白龙马'}
>>> dict1.pop(102)
'六耳猕猴'
>>> dict1
{101: '唐僧', 103: '猪八戒', 104: '沙和尚', 105: '白龙马'}

(3)访问字典

  • items( ):返回字典所有键值对
  • keys( ):返回字典所有键
  • values( ):返回字典所有值
>>> dict1 = {101: '唐僧', 102: '孙悟空', 103: '猪八戒', 104: '沙和尚', 105: '白龙马'}
>>> dict1.items()
dict_items([(101, '唐僧'), (102, '孙悟空'), (103, '猪八戒'), (104, '沙和尚'), (105, '白龙马')])
>>> dict1.keys()
dict_keys([101, 102, 103, 104, 105])
>>> dict1.values()
dict_values(['唐僧', '孙悟空', '猪八戒', '沙和尚', '白龙马'])

tips:遍历字典

#coding=utf-8

dict = {101: '唐僧', 102: '孙悟空', 103: '猪八戒', 104: '沙和尚', 105: '白龙马'}

#遍历键
for i in dict.keys():
    print('取经编号'+str(i))
    
#遍历值
for x in dict.values():
    print('取经人'+str(x))
    
#遍历键值对
for i,x in dict.items():
    print('取经编号{}——取经人{}'.format(i,x))

 结果:

取经编号101
取经编号102
取经编号103
取经编号104
取经编号105
取经人唐僧
取经人孙悟空
取经人猪八戒
取经人沙和尚
取经人白龙马
取经编号101——取经人唐僧
取经编号102——取经人孙悟空
取经编号103——取经人猪八戒
取经编号104——取经人沙和尚
取经编号105——取经人白龙马