python3.5入门笔记(5) 字典

Dict函数+len函数+type函数

1、Dict()   转化为字典,创建字典

a=[('a',1),('b',2)]

b=dict(a)

>>> b        {'a': 1, 'b': 2}

>>>b['a']    1

mm=dict(name='tester,age=24)

>>> mm    {'name': 'tester', 'age': 24}

2、Len() 计算字典元素个数

test={'name': 'tester', 'age': 25, 'sex': '女'}

>>> len(test)    3

3、type函数

test={'name': 'tester', 'age': 25, 'sex': '女'}

>>> type(test)        <class 'dict'>

>>> type('name')   <class 'str'>

基本操作+字典特性

基本操作:

test={'name': 'tester', 'age': 24}

1、修改字典

test['age']=25

>>> test        {'name': 'tester', 'age': 25}

test['sex']='女'

>>> test       {'name': 'tester', 'age': 25, 'sex': '女'}

2、删除字典元素

del test['sex']

>>> test    {'name': 'tester', 'age': 25}

del test

>>> test

Traceback (most recent call last):

  File "<pyshell#10>", line 1, in <module>

    test

NameError: name 'test' is not defined

字典特性:

  1. 不允许一个键出现两次,出现两次,记住后面的键值;
  2. 只能变键值,键不可变;

Dict特点:

  1. 查找,插入速度快,时间不会随元素的增加而增加
  2. 需要占用内存多,内存浪费多

List特点:

(1)查找,插入时间随元素的增加而增加

(2)需要占用内存小,内存浪费少

字典方法(*)

1、clear() 删除元素

test={'name': 'tester', 'age': 25, 'sex': '女'}

test.clear()

>>> test       {}

2、copy()   复制

(1) test={'name': 'tester', 'age': 25, 'sex': '女'}

>>> mm=test    字典的值相同,是同一字典

mm['name']='yy'

>>> test        {'name': 'yy', 'age': 25, 'sex': '女'}

(2) test={'name': 'tester', 'age': 25, 'sex': '女'}

mm=test.copy()    两个值相同的字典

>>> mm['name']='yy'

>>> test      {'name': 'tester', 'age': 25, 'sex': '女'}

>>> mm      {'name': 'yy', 'age': 25, 'sex': '女'}

3、fromkeys()   创建新字典  dict.fromkeys(键,值)

seq=('name','age','sex')

test=dict.fromkeys(seq)

>>> test      {'name': None, 'age': None, 'sex': None}

test01=dict.fromkeys(seq,10)

>>> test01   {'name': 10, 'age': 10, 'sex': 10}

4、get()方法   返回指定值,值不存在返回default,值不在字典中返回None

test={'name': 'tester', 'age': 25, 'sex': '女'}

>>> test.get('name')         tester'

print(test.get('namae'))     None

5、key in dict  检查key是否在字典

'name' in test    True

'ss' in test         False

6、item()  以列表方式返回,键值由元祖组成

test={'name': 'tester', 'age': 25, 'sex': '女'}

>>> test.items()

dict_items([('name', 'tester'), ('age', 25), ('sex', '女')])

7、keys()  获取字典keys

test={'name': 'tester', 'age': 25, 'sex': '女'}

>>> test.keys()

dict_keys(['name', 'age', 'sex'])

8、values()   返回所有值,包括重复值

test={'小米':22,'小红':22,'小雪':21}

>>> test.values()

dict_values([22, 22, 21])

9、setdefault()  和get()相似,区别是存在值时返回值,不存值时会添加值

test={'name': 'tester', 'age': 25}

test.setdefault('name')    'tester'

print(test.setdefault('sex'))  None

>>> test     {'name': 'tester', 'age': 25, 'sex': None}   添加了sex的键值

test.setdefault('height',50)  

>>> test     {'name': 'tester', 'age': 25, 'sex': None, 'height': 50}

10、update()  更新,相同覆盖,不同追加到旧字典

test={'name': 'tester', 'age': 25}

mm={'a':1,'b':2,'name':'tester'}

test.update(mm)

>>> test    {'name': 'tester', 'age': 25, 'a': 1, 'b': 2}

发布了28 篇原创文章 · 获赞 1 · 访问量 3192

猜你喜欢

转载自blog.csdn.net/pdd51testing/article/details/83784214