标签:操作 特殊用法 for val input none print python 字典 tin
Python字典常用的定义方法直接定义一个字典
dict1 = {‘x‘: 1, ‘y‘: 2, ‘z‘: 3}
利用dict方法定义一个字典
dict2 = dict(x=1, y=2, z=3)
利用dict方法定义一个字典
dict3 = dict(((‘x‘, 1), (‘y‘, 2), (‘z‘, 3)))
dict1.clear() 清空一个字典,结果返回一个空字典 {}
dict1.copy() 字典的浅拷贝,不同于赋值
例如:
dict1 = {‘x‘:1, ‘y‘:2, ‘z‘:3}
dict2 = dict1.copy(), 则dict2 = {‘x‘:1, ‘y‘:2, ‘z‘:3}
dict3 = dict1, 采用赋值的方法,则修改dict3会影响dict1
如, dict3[‘w‘] = 666, dict3返回结果为{‘x‘: 1, ‘y‘: 2, ‘z‘: 3, ‘w‘: 666}, dict1也返回{‘x‘: 1, ‘y‘: 2, ‘z‘: 3, ‘w‘: 666}
但修改dict2不影响dict1,如:dict2[‘v‘] = 88,则dict2返回{‘x‘: 1, ‘y‘: 2, ‘z‘: 3, ‘v‘: 88},而dict1依然返回{‘x‘: 1, ‘y‘: 2, ‘z‘: 3, ‘w‘: 666}
dict1.pop(‘x‘) 从字典中删除‘x‘键和对应的值并返回该值
del dict1[‘x‘] 也可以删除键‘x‘
dict1.popitem() 随机从字典中删除一个数据
dict1.keys() 返回字典中的所有键的列表,
>>> dict3.keys()
dict_keys([‘x‘, ‘y‘, ‘z‘])
dict1.values()返回字典中的所有值
>>> print(dict3.values())
dict_values([1, 2, 3])
dict1.items() 将字典的key, value分成成对形式的元组
>>> dict2.items()
dict_items([(‘x‘, 1), (‘y‘, 2), (‘z‘, 3)])
dict1.setdefault(‘w‘) 为字典加入一个值并赋值为默认值,dict1.setdefault(‘w‘),返回{‘w‘: None}
dict1.get(‘w‘),返回键“w"的值,若"w"不存在,则返回默认值None
将2个列表元素映射为字典
list1 = [‘x‘, ‘y‘, ‘z‘]
list2 = [1, 2, 3]
dict(zip(list1,list2))
输出结果为 {‘x‘: 1, ‘y‘: 2, ‘z‘: 3}
如果2个列表元素数量不一致,则只映射元素数量最小列表的,
如 list3 = [10, 7]
dict(zip(list1, list3))
输出结果为 {‘x‘: 10, ‘y‘: 7}
字典的生成式
映射字典 i: i2, 且i 为2到20以内且能被3整除的数
{ i: i2 for i in range(2,20) if i % 3 == 0 } ,输出结果为 {3: 6, 6: 12, 9: 18, 12: 24, 15: 30, 18: 36}
利用字典建立一个简单通讯录程序
contact_dict = {‘老王‘:"135", ‘老李‘:‘137‘}
while True:
choice = input(‘‘‘请输入选项:
1. 查询联系人
2. 添加联系人
3. 显示所有联系人
4. 删除联系人
5. 退出
‘‘‘)
if choice == ‘1‘:
name = input("输入联系人姓名:\n")
if name in contact_dict.keys():
print("%s 的联系电话是 %s \n" % (name, contact_dict[name]))
else:
print("%s不存在.\n" % name)
elif choice == ‘2‘:
name = input("输入联系人姓名:")
telenum = input("输入联系人电话:")
contact_dict[name] = telenum
elif choice == ‘3‘:
if contact_dict.keys() == []:
print("通讯录为空,请添加联系人!")
else:
for contact_name in contact_dict.keys():
print("%s的联系电话是 %s" % (contact_name, contact_dict[contact_name]))
elif choice == ‘4‘:
name = input("输入联系人姓名:")
contact_dict.pop(name)
elif choice == ‘5‘:
break
else:
print("输入错误!")
continue
标签:操作 特殊用法 for val input none print python 字典 tin
原文地址:http://blog.51cto.com/carllai/2153059