继续学习喽~
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}
>>>
字典差不多学完了
明天继续,哈哈