字典:python中唯一一个映射数据类型
# 数据类型划分:可变数据类型 ,不可变数据类型
# 不可变数据类型:元祖,bool,int,str 可哈希
# 可变数据类型:list,dict,set 不可哈希
# dict[key],key 是不可变数据类型 ;value 任意数据类型
# dict 优点:key转换成数字,二分法查找,因此查询速度较快
# 储存大量的关系数据
# python3.5之前的字典无序,Python3.6之后增加排序的特性
dict1 = {'age':18,'name':'jin','sex':'male'}
# 字典-增
# dict1['height'] = 188 # 如果没有键,则增加键值{'age': 18, 'name': 'jin', 'sex': 'male', 'height': 188}
# dict1['age'] = 16 # 如果有键,则覆盖值 {'age': 16, 'name': 'jin', 'sex': 'male'}
# dict1.setdefault('weight') #{'age': 18, 'name': 'jin', 'sex': 'male', 'weight': None}
# dict1.setdefault('weight',123) #无键,则增加键 {'age': 18, 'name': 'jin', 'sex': 'male', 'weight': 123}
# dict1.setdefault('name','和') #有键,则值不做任何改动 {'age': 18, 'name': 'jin', 'sex': 'male'}
# 字典-删
# dict1.pop('age') #返回key 对应的value值,删除对应key {'name': 'jin', 'sex': 'male'}
# dict1.pop('ee','没有此键') # 删除不存在的key,返回 可设置返回值 没有此键
# dict1.popitem() #{'age': 18, 'name': 'jin'} 随机删除键值对 ,返回元祖形式删除的键值
# dict1.clear() # 清空字典 {}
# del dict1['name'] # 删除键值 {'age': 18, 'sex': 'male'}
# del dict1['妈妈'] # 删除不存在的 键值对,报错,因此最好使用pop
# del dict1 # 删除整个字典
# 字典-改
# dict1['age'] = 16 # 如果有键,则覆盖值 {'age': 16, 'name': 'jin', 'sex': 'male'}
# dict2 = {'age':1182,'name':'jin','weight':1423}
# dict2.update(dict1) # 将dict1 的所有键值对 覆盖添加到到dict2,原字典无变化 {'age': 18, 'name': 'jin', 'sex': 'male'} {'age': 18, 'name': 'jin', 'weight': 1423, 'sex': 'male'}
# 字典-查
# print(dict1.keys()) #dict_keys(['age', 'name', 'sex'])
# print(dict1.values())#dict_values([18, 'jin', 'male'])
# print(dict1.items())#dict_items([('age', 18), ('name', 'jin'), ('sex', 'male')])
# for i in dict1:
# print(i) # 默认打印键
# for i in dict1:
# print(i) # 打印键
# for i in dict1.values():
# print(i) # 打印值
# a,b = 1,2 # 分别赋值 a=1,b=2
# a,b = 1,2
# a,b = b,a # 分别赋值 a=2,b=1
# a,b = [1,2] # a = 1,b = 2
# a,b = [1,2],[3,4] # a = [1, 2] b = [3, 4]
# a,b = (5,6) # a = 5,b = 6
# 打印键值对
# age 18
# name jin
# sex male
# for i,j in dict1.items():
# print(i,j)
# 打印元祖形式键值对
# ('age', 18)
# ('name', 'jin')
# ('sex', 'male')
# for i in dict1.items():
# print(i)
# print(dict1['name']) # jin 打印键name对应的值,打印不存在的键,则报错
# print(dict1.get('name'))# jin 打印键name对应的值,打印不存在的键,则报错
# print(dict1.get('name1','键错了')) # 键错了 打印键name1对应的值,name1键不存在,则返回默认值
# 嵌套
dic = {
'name' : ['alex','wusir','taibai'],
'py9' : {
'time' : '1213',
'learn_money' : 19800,
'address' : 'CBD',
},
'age' : 21
}
# dic['age'] = 56
# dic['name'].append('www') #{'name': ['alex', 'wusir', 'taibai', 'www'], 'py9': {'time': '1213', 'learn_money': 19800, 'address': 'CBD'}, 'age': 56}
# dic['name'][1] = dic['name'][1].upper() #{'name': ['alex', 'WUSIR', 'taibai', 'www'], 'py9': {'time': '1213', 'learn_money': 19800, 'address': 'CBD'}, 'age': 56}
# dic['py9']['female'] = 6 #{'name': ['alex', 'wusir', 'taibai'], 'py9': {'time': '1213', 'learn_money': 19800, 'address': 'CBD', 'ccount': 6}, 'age': 21}
info = input('>>>')
for i in info:
if i.isalpha():
info = info.replace(i,' ')
l = info.split()
print(len(l))