赞
踩
列表缺陷:若数据顺序发生变化,无法通过下标i(list[i])访问到变化数据
字典:数据以键值对形式出现,与数据顺序无关,不支持下标访问,无论顺序如何变化,均可用键名key查找数据
字典特点:符号为大括号、数据以键值对形式出现、各键值对间用逗号隔开
举例如下:
- dict1 = {'id': 2, 'name': 'XX', 'age': 20} # 创建字典,键(key):值(value),简称k:v
- dict2 = {'name': 'YX', 'tel': 888, 'address': 'JXUST'}
- print('------------新增---------------')
- dict1['gender'] = '男' # 增加键值对'gender':'男'
- print(dict1)
- dict1.update(dict2) # 把字典dict2中的键值对更新至字典dict1中,若已存在则覆盖
- print(dict1)
- print('------------删除---------------')
- del dict1['id'] # 删除键名为id的键值对
- print(dict1)
- print(dict1.popitem(), dict1) # popitem()返回并删除最后一对键和值,若为空,则报异常
- # dict1.clear() # 清空字典
- print('------------修改---------------')
- dict1['gender'] = '女' # 修改键gender值为女
- print(dict1)
- print('------------查找---------------')
- print(dict1['age'])
- print(dict1.get('name'), dict1.get('weight', '体重未知!'), dict1.get('weight'))
- print(dict1.keys(), dict1.values(), dict1.items()) # 以列表形式获取字典所有键、所有值、所有(键,值)
-
- 输出:
- ------------新增---------------
- {'id': 2, 'name': 'XX', 'age': 20, 'gender': '男'}
- {'id': 2, 'name': 'YX', 'age': 20, 'gender': '男', 'tel': 888, 'address': 'JXUST'}
- ------------删除---------------
- {'name': 'YX', 'age': 20, 'gender': '男', 'tel': 888, 'address': 'JXUST'}
- ('address', 'JXUST') {'name': 'YX', 'age': 20, 'gender': '男', 'tel': 888}
- ------------修改---------------
- {'name': 'YX', 'age': 20, 'gender': '女', 'tel': 888}
- ------------查找---------------
- 20
- YX 体重未知! None
- dict_keys(['name', 'age', 'gender', 'tel']) dict_values(['YX', 20, '女', 888]) dict_items([('name', 'YX'), ('age', 20), ('gender', '女'), ('tel', 888)])
举例如下:
- print('------------遍历---------------')
- print('-----键-----')
- for k in dict.keys(): # 遍历键key
- print(k)
- print('-----值-----')
- for v in dict.values(): # 遍历值value
- print(v)
- print('-----键值-----')
- for k,v in dict.items(): # 遍历键值对
- print(f'{k} = {v}')
- print('-----元素-----')
- for i in dict.items(): # 遍历元素
- print(i)
-
- 输出:
- ------------遍历---------------
- -----键-----
- name
- age
- gender
- tel
- -----值-----
- YX
- 20
- 女
- 888
- -----键值-----
- name = YX
- age = 20
- gender = 女
- tel = 888
- -----元素-----
- ('name', 'YX')
- ('age', 20)
- ('gender', '女')
- ('tel', 888)
创建集合:使用{}或set(),空集合只能用set(),{}用来创建空字典
集合特点:可以去除重复数据,数据是无序的,故不支持下标
集合常见操作方法
举例如下:
- print('------------集合------------')
- print('--------创建方式一--------')
- s1 = {'a', 'b', 2, 'a'}
- print(s1)
- s1.add('aa') # 追加单个数据
- print(s1)
- s1.update(('bb', 22)) # 追加元组序列
- print(s1)
- print('--------创建方式二--------')
- s2 = set('ab2a')
- print(s2)
- s2.update(['bb', 'cc', 22]) # 追加列表序列
- print(s2)
- s2.update('cdd') # 追加字符串序列
- print(s2)
- print('--------删除--------')
- s1.remove('a') # 删除a
- print(s1)
- s1.discard(2) # 删除2
- print(s1)
- print(s1.pop(), s1)
- print('--------判断--------')
- print('b' in s1, 'bb' not in s1, s1.issubset(s2))
-
- 输出:
- ------------集合------------
- --------创建方式一--------
- {'b', 2, 'a'}
- {'b', 2, 'aa', 'a'}
- {2, 'bb', 'b', 'a', 22, 'aa'}
- --------创建方式二--------
- {'b', '2', 'a'}
- {'2', 'bb', 'b', 'a', 22, 'cc'}
- {'2', 'c', 'bb', 'b', 'd', 'a', 22, 'cc'}
- --------删除--------
- {2, 'bb', 'b', 22, 'aa'}
- {'bb', 'b', 22, 'aa'}
- bb {'b', 22, 'aa'}
- --------判断--------
- True True False
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。