字典

# 字典

# 基本使用
# 用途:用来存放多个(不同种类的)值
# 定义:
'''
在{}内用逗号分隔开多个key:value的元素,
其中value可以是任意数据类型,而key的功能通常是用来
描述value的,所以key通常是字符串类型,
但其实key必须是不可变的类型(intfloatstr uple)
'''
# d = {0: 'x', 1.3: 'y', 'k1': 'z', (1, 2, 3): 'aaa'}
# print(d[(1, 2, 3)])
# d1 = {[1, 2, 3]: 'aaaaa'} # unhashable type: 'list' 一定要是不可变

# d = dict({('k1', 1), ('k2', 2), ('k3', 3)})
# print(d) #{'k2': 2, 'k3': 3, 'k1': 1}
#
# l = [('k1',1),('k2',2),('k3',3)]
# d={}
# for t in l: #从列表取出来放入字典
# k,v=t
# print(k,v)
# d[k]=v
# print(d)

# 从列表取出来放入字典
# l = [('k1',1),('k2',2),('k3',3)]
# d = dict(l)
# print(d) #{'k1': 1, 'k2': 2, 'k3': 3}

# d = dict(x=1,y=2,z=3)
# print(d) #{'x': 1, 'y': 2, 'z': 3}

# 优先掌握的操作
# 按key存取值:可存可取
# d = {'x':1}
# # print(d['x'])
# # print(id(d['x']))
# # print(id(d))
# # d['x'] = 1111
# # print(d)
# # print(id(d['x']))
# # print(id(d))
# #
# # d['y']=2222 #{'x': 1111, 'y': 2222}
# # print(d)

# 长度len
# d = {'x':1,'y':2,'z':3}
# print(len(d)) # 3

# 成员运算in和not in
# d = {'x':1,'y':2,'z':3}
# print(1 in d)
# print('x' in d) # k在不在字典中

# 删除
# d = {'x':1,'y':2,'z':3}
# del d['y']
# print(d) #{'x': 1, 'z': 3}

# res = d.pop('y') #pop取出 y的值 有返回值
# print(d)
# print(res) #有返回值
#
# res = d.popitem() #随即删除一个
# print(res)

# 键keys(),值values(),键值对items()
# d={'name':'egon','age':18,'sex':'male','hobbies':[1,2,3]}
# print(d.keys()) #取key
# print(list(d.keys()))
# dict_keys(['name', 'age', 'sex', 'hobbies'])
# ['name', 'age', 'sex', 'hobbies']

# print(d.values())
# print(list(d.values()))
# dict_values(['egon', 18, 'male', [1, 2, 3]])
# ['egon', 18, 'male', [1, 2, 3]]

# print(d.items())
# print(list(d.items()))
# dict_items([('name', 'egon'), ('age', 18), ('sex', 'male'), ('hobbies', [1, 2, 3])])
# [('name', 'egon'), ('age', 18), ('sex', 'male'), ('hobbies', [1, 2, 3])]

# 循环
#d={'name':'egon','age':18,'sex':'male','hobbies':[1,2,3]}
# for k in d.keys():
# print(k)
# for k in d:
# print(k) #默认循环输出key

#for v in d.values():
# print(v) #value

#for k,v in d.items():
# print(k,v)
# name egon
# age 18
# sex male
# hobbies [1, 2, 3]

#类型总结

#能存多个值
#无序
#可变==不可hash(可变:值变 id不变)

#需要掌握的操作
#get方法
# d = {'name':'egon','age':18,'sex':'male','hobbies':[1,2,3]}
#v = d.get('namexxxxx')
# v = d.get('key')
# print(v) #None 不会报错

# fromkeys:需求是快速新造出一个字典,value的初始值全部都为None,
#而key是来自于一个列表
# keys = ['name','age','sex']
# d={}
# for k in keys:
# d[k]= None
# d={}.fromkeys(keys,None)
# print(d)

#setdefault
# d = {'x':1,'y':2}
# res = d.setdefault('x',11111) # 在key存在的情况下不修改值,会返回原值
# print(d)
# print(res)
# s='hello alex alex say hello sb sb'
# d={}
# words = s.split()
# for word in words:
# d.setdefault(word,words.count(word))
#
# print(d)

t=(1,)
print(t,type(t))

name=input('>>: ').strip()
print(('my name is %s' %name).center(50,'*'))
原文地址:https://www.cnblogs.com/OutOfControl/p/9672068.html