python——字典

字典


第一种:借助key

  字典[key] = 'value'

  有则改,无则加(记得加引号)

dic = {'name':'太白','age':18,'sex':'男',}
dic['name'] = 'alex'
dic['job'] = 'IT'
dic,len(dic)
({'name': '太白', 'age': 18, 'sex': '男'}, 3)

第二种:setdefault()方法

  字典.setdafault('key','value')

   有则不做任何操作,返回对应的值;无则加

dic = {'name':'太白','age':18,'sex':'男',}
print(dic,dic.setdefault('name','alex'))
dic.setdefault('job')
dic.setdefault('hobby','driving')
dic.setdefault(1,{'color':'black'})
print(dic)

{'name': '太白', 'age': 18, 'sex': '男'} 太白
{'name': '太白', 'age': 18, 'sex': '男', 'job': None, 'hobby': 'driving', 1: {'color': 'black'}}


第一种:pop()方法

  字典.pop('key','提示语')

  根据key去删除,若有,则删;若无,pop中若设置了第二个参数,则返回第二个参数,若无,则报错,一次仅能删除一个元素

dic = {'name':'太白','age':18,'sex':'男'}
print(dic,dic.pop('name'))
print(dic,dic.pop('name1','无此值'))
dic.pop('name2')

{'age': 18, 'sex': '男'} 太白
{'age': 18, 'sex': '男'} 无此值



---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

 in ()
      3 
      4 print(dic,dic.pop('name1','无此值'))
----> 5 dic.pop('name2')


KeyError: 'name2'

第二种:popitem()方法

  字典.popitem()
  python3.5之前随机删除一个键值对,3.6之后默认删除最后一个键值对.pop中仅有一个参数

dic = {'name':'太白','age':18,'sex':'男'}
dic.popitem()
dic
# dic.popitem(1)

{'name': '太白', 'age': 18}

第三种:del方法

  del 字典[key]
  按照键删除键值对,一次只能删除一个元素。del dic可从内存级别删除字典

dic = {'name':'太白','age':18,'sex':'男'}
del dic['name']
print(dic)
del dic
dic
{'age': 18, 'sex': '男'}



---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

 in ()
      3 print(dic)
      4 del dic
----> 5 dic


NameError: name 'dic' is not defined

第四种:clear方法

  字典.clear
  清空字典

dic = {'name':'太白','age':18,'sex':'男'}
dic.clear()
dic
{}


第一种:通过键赋值

  字典[key] = value
  增的第一种方法,若有则改,若无则加

dic = {'name':'太白','age':18,'sex':'男'}
dic['name'] = 'alex'
dic['job'] = 6
dic
{'name': 'alex', 'age': 18, 'sex': '男', 'job': 6}

第二种:update方法

  字典1.update(字典2)
  将字典2中的所有键值对覆盖添加到字典1中,字典2不变

dic = {'name':'太白','age':18,'sex':'男'}
dic2 = {'name':'alex','job':'it','hobby':'driving'}
dic.update(dic2)
print(dic,dic2)
dic3 = {'name':'wusir','age': 20}
dic4 = {'fisrt':'yang','weight':70}
dic3.update(dic4)
dic3,dic4
{'name': 'alex', 'age': 18, 'sex': '男', 'job': 'it', 'hobby': 'driving'} {'name': 'alex', 'job': 'it', 'hobby': 'driving'}





({'name': 'wusir', 'age': 20, 'fisrt': 'yang', 'weight': 70},
 {'fisrt': 'yang', 'weight': 70})

update()还可以直接改字典一中的内容,格式为
字典一.update(key = value))
但需要注意的是,此时的key必须是字典一中所包含的key,而且不可以加引号

dic = {'name':'太白','age':18,'sex':'男'}
dic.update(name = 'yang')
dic
{'name': 'yang', 'age': 18, 'sex': '男'}

查:


第一种:字典[key]

  若无报错

dic = {'name':'太白','age':18,'sex':'男'}
a = dic['name']
print(a)
b = dic['job']
太白



---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

 in ()
      2 a = dic['name']
      3 print(a)
----> 4 b = dic['job']


KeyError: 'job'

第二种:get方法

  字典.get(key,'提示信息')
  若有,则返回value值,若无,若设置第二个参数,返回第二个参数,否则返回none

dic = {'name':'太白','age':18,'sex':'男'}
print(dic.get('name'))
print(dic.get('name1','无此值'))
print(dic.get('name2'))
太白
无此值
None

dic.keys()  dic.values()  dic.items()

  可遍历,可转list

dic = {'name':'太白','age':18,'sex':'男'}
print(dic.keys(),type(dic.keys()))
l1 = list(dic.keys())
print(l1,type(l1))
dict_keys(['name', 'age', 'sex']) 
['name', 'age', 'sex'] 
dic = {'name':'太白','age':18,'sex':'男','job':'IT'}
for i in dic.keys():
    print(i)
name
age
sex
job

分别赋值

a = 10
b = 20
a,b = b,a
a,b
(20, 10)
dic = {'name':'太白','age':18,'sex':'男','job':'IT'}
for i,j in dic.items():
    print(i,j)
name 太白
age 18
sex 男
job IT

小练习

dic = {'name_list': ['王双', 'alex', '孙飞', 'taibai'],
       1: {'name': 'taibai', 'age': 18, 'sex': '男'},
       (1, 2): [100, {'ip': '192.168.1.1', 'port': 3306}]
       }
# 1,给 name_list对应的列表追加一个值: 司徒大人.

dic['name_list'].append('司徒大人')
dic

# 2,将name_lsit对应的alex 变成全部大写.

dic['name_list'][1] = dic['name_list'][1].upper()
dic

# 3, 将1对应的字典添加一个键值对: weight : 75

dic[1]['wight'] = 75
dic

# 4,将1 对应的字典的name键对应的名字taibai 换成alex

dic[1]['name'] = 'alex'
dic

# 5,将 {'ip': '192.168.1.1', 'port': 3306} 次字典的port键值对删除.

dic[(1,2)][1].pop('ip')
dic
{'name_list': ['王双', 'ALEX', '孙飞', 'taibai', '司徒大人'],
 1: {'name': 'alex', 'age': 18, 'sex': '男', 'wight': 75},
 (1, 2): [100, {'port': 3306}]}
a = 'alex'
b = list(a)
print(b)

你可能感兴趣的:(python——字典)