python学习笔记04(字典及相关操作)

继续学习喽~

1.字典

1.1一个简单的字典

student_0={'name':'tom','hobby':'basketball'}
print(student_0['name'])
print(student_0['hobby'])
------------------------
tom
basketball

注意字典是大括号括起来的,刚开始我习惯的用中括号,结果错了

1.2访问字典中的值

student_0={'name':'tom','hobby':'basketball'}
a=student_0['name']
b=student_0['hobby']
print(str(a)+" like "+str(b)+".")
------------
tom like basketball.

1.3添加键-值对

student_0={'name':'tom','hobby':'basketball'}
student_0['age']=18
student_0['gender']='man'
print(student_0)
--------
{'name': 'tom', 'hobby': 'basketball', 'age': 18, 'gender': 'man'}

1.4向空字典添加键-值对

student_0={}
student_0['name']='tom'
student_0['hobby']='basketball'
print(student_0)
------------
{'name': 'tom', 'hobby': 'basketball'}

1.5修改字典中的值

student_0={'name': 'tom', 'hobby': 'basketball'}
student_0['name']='jack'
student_0['hobby']='football'
print(student_0)
--------
{'name': 'jack', 'hobby': 'football'}

1.6删除键-值对

student_0={'name': 'tom', 'hobby': 'basketball'}
student_0['name']='jack'
student_0['hobby']='football'
del student_0['hobby']
print(student_0)
---------------
{'name': 'jack'}

这是永远删除的

1.7类似对象组成的字典

students={
    'tom': 'c',
   'jack': 'c++',
    'me': 'python',
          }
print("tom like use "+students['tom'])
------
tom like use c

1.8遍历字典

students={
    'tom': 'c',
   'jack': 'c++',
    'me': 'python',
          }
for key,value in students.items():
    print("\nkey: "+key)
    print("\nvalue: "+value)  
--------
key: tom
value: c

key: jack
value: c++

key: me
value: python
students={
    'tom': 'c',
   'jack': 'c++',
    'i': 'python',
          }
for name,hobby in students.items():
    print(name.title()+" like use "+hobby)
 -----------
Tom like use c
Jack like use c++
I like use python

1.9字典列表

student_0={'tom': 'c'}
student_1={'jack': 'c++'}
student_2={'i': 'python'}
students=[student_0,student_1,student_2]
for student in students:
    print(student)
 ----------
{'tom': 'c'}
{'jack': 'c++'}
{'i': 'python'}

1.10在字典中存储列表

student={'name': 'tom',
          'hobbys':['c','python','java']
          }
for hobby in student['hobbys']:
    print(student['name']+"'s hobby is "+hobby)
   -----------
tom's hobby is c
tom's hobby is python
tom's hobby is java

1.11在字典中存储字典

students={
    'tom':{
        'age':'18',
        'hobby':'c'
    },
    'jack':{
        'age':'20',
        'hobby':'python'
    },
          }
for name,name_info in students.items():
    print("\nName:")
    print("\tAge:"+age)
    print("\tHooby:"+hobby)
 ------------------
 
Name:
	Age:20
	Hooby:java

Name:
	Age:20
	Hooby:java

2.完善

定义

字典有如下特性:
(1〉字典的值可以是任意数据类型,包括字符串、整数、对象,甚至可以是字典。
(2〉键值对没有顺序。
(3)键必须是唯一的,不允许同一个键重复出现。如果同一个键被赋值两次,后一个值会覆盖前一个值。
(4)键不可变,只能使用数字、字符串或元组,不能使用列表。

这是因为字典根据键来计算值的存储位置,如果每次计算相同的键得出的结果不同,字典内部就完全混乱了。这个通过键计算位置的算法称为哈希(hash)算法。为了保证哈希算法的正确性,键就不能变。在 Python中,字符串、整数等都是不可变的,而列表是可变的,因此,列表不能作为键。

字典与列表比较,有以下几个特点:
(1)字典通过用空间来换取时间,其查找和插入的速度极快,运行时间不会随着键的增加而增加。
(2)字典需要占用大量的内存。
(3)字典是无序的对象集合,字典中的元素(即值)是通过键来存取的,而不是通过下标(索引)来存取的。

字典操作

字典元素的访问

(1) keys()函数返回一个包含所有键的列表。
>>> dict={'zhou':95,'bob':75,'tracy':85}
>>> dict.keys()
dict_keys(['zhou', 'bob', 'tracy'])
>>> 
(2) has_key()函数检查字典中是否存在某一键。

Python3已删除这个功能

(3) values()函数返回一个包含所有值的列表。
>>> dict.values()
dict_values([95, 75, 85])
>>> 
(4) get()函数根据键返回值。如果不存在输入的键,则返回None。
>>> dict.get('bob')
75
>>> dict.get('b')
>>> 
(5) items()函数返回一个由形如(key ,value)的键值对组成的元组。
>>> dict.items()
dict_items([('zhou', 95), ('bob', 75), ('tracy', 85)])
>>> 
(6) in运算符用于判断某个键是否在字典里,对于值不适用。
>>> 'zhou' in dict
True
>>> 
(7) copy()函数用于复制字典。
>>> dict_1=dict.copy()
>>> dict_1
{'zhou': 95, 'bob': 75, 'tracy': 85}
>>> 

字典元素的删除

del()函数用于删除指定键的元素
>>> del dict['zhou']
>>> print(dict)
{'bob': 75, 'tracy': 85}
>>> 
clear()函数用于清除字典中所有元素
>>> dict_1.clear()
>>> dict_1
{}
>>> 
pop()函数用于删除一个关键字并返回它的值
>>> dict.pop('bob')
75
>>> dict
{'tracy': 85}
>>> 

字典元素的修改

update()函数类似于合并,可以把一个字典的键和值合并到另一个字典中,覆盖相同键的值。
>>> dict_1={'tom':'python','jack':'python','juli':'java'}
>>> dict_2={'tom':'java','alen':'R'}
>>> dict_1.update(dict_2)
>>> dict_1
{'tom': 'java', 'jack': 'python', 'juli': 'java', 'alen': 'R'}
>>> 

字典元素的增加

>>> dict
{'tracy': 85}
>>> dict['tom']=99
>>> dict['jack']=50
>>> dict
{'tracy': 85, 'tom': 99, 'jack': 50}
>>> 

字典差不多学完了
在这里插入图片描述
明天继续,哈哈

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据攻城小狮子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值