Jika ada senarai dan nama "xiaoWang" perlu diubah suai, kod tersebut mesti diubah suai melalui nilai indeks yang sepadan.
nameList = ['xiaoZhang', 'xiaoWang', 'xiaoLi'] nameList[1] = 'xiaoxiaoWangSalin selepas log masukJika susunan senarai telah berubah, seperti berikut:
nameList = ['xiaoWang', 'xiaoZhang', 'xiaoLi'];Salin selepas log masukPada masa ini, anda perlu mengubah suai subskrip untuk melengkapkan pengubahsuaian nama.
nameList[0] = 'xiaoxiaoWang'Salin selepas log masukAdakah terdapat cara untuk menyimpan berbilang data dan mencari elemen yang diperlukan dengan mudah semasa mengakses elemen? Ini adalah kamus.
Kamus, seperti senarai, juga boleh menyimpan berbilang data.
Apabila mencari elemen dalam senarai, ia berdasarkan subskrip.
Apabila mencari unsur dalam kamus, ia berdasarkan 'nama' (iaitu, nilai di hadapan titik bertindih:, seperti 'nama', 'id', 'seks' dalam kod di atas).
Setiap elemen kamus terdiri daripada 2 bahagian, kunci: nilai. Contohnya, 'nama':'monitor', di mana 'nama' ialah kunci dan 'monitor' ialah nilainya.
Nilai akses berdasarkan kunci
Contoh:
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'} print(info['name']) print(info['address'])
Hasil larian:
若访问不存在的键,则会报错:
>>> info['age'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'age'
在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值。
>>> age = info.get('age')>>> age #'age'键不存在,所以age为None>>> type(age)<type 'NoneType'>>>> age = info.get('age', 18) # 若info中不存在'age'这个键,就返回默认值18>>> print(age) 18 #运行结果
info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'} print('id为:%d'%info['id'])
运行结果:
如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素。
添加新的元素。
info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'} # print('id为:%d'%info['id'])#程序会终端运行,因为访问了不存在的键 newId = input('请输入新的学号') info['id'] = newId print('添加之后的id为:%d'%info['id'])
运行结果:
请输入新的学号188 添加之后的id为: 188
对字典进行删除操作,有一下几种:
del
clear()
info = {'name':'班长', 'sex':'f', 'address':'地球亚洲中国北京'} print('删除前,%s'%info['name']) del info['name'] print('删除后,%s'%info['name'])
运行结果:
info = {'name':'monitor', 'sex':'f', 'address':'China'} print('删除前,%s'%info) del info print('删除后,%s'%info)
运行结果:
info = {'name':'monitor', 'sex':'f', 'address':'China'} print('清空前,%s'%info) info.clear() print('清空后,%s'%info)
运行结果:
字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改。
info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'} newId = input('请输入新的学号') info['id'] = int(newId) print('修改之后的id为%d:'%info['id'])
运行结果:
测量字典中,键值对的个数。
dict={"name":'zahnsan','sex':'m'} print(len(dict))
运行结果:
返回一个包含字典所有KEY的列表。
dict={"name":'zahnsan','sex':'m'} print(dict.keys())
运行结果:
返回一个包含字典所有value的列表。
dict={"name":'zahnsan','sex':'m'} print(dict.values())
运行结果:
返回一个包含所有(键,值)元祖的列表。
dict={"name":'zahnsan','sex':'m'} print(dict.items())
运行结果:
语法:通过for ... in ...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。
注意 :Python语法的缩进
先看一下字符串,列表和元组是怎么遍历的。
字符串遍历
>>> a_str = "hello itcast">>> for char in a_str:... print(char,end=' ')...h e l l o i t c a s t #运行结果
列表遍历
>>> a_list = [1, 2, 3, 4, 5]>>> for num in a_list:... print(num,end=' ')...1 2 3 4 5 #运行结果
元组遍历
>>> a_turple = (1, 2, 3, 4, 5)>>> for num in a_turple:... print(num,end=" ")1 2 3 4 5 #运行结果
chars = ['a', 'b', 'c', 'd']for i, chr in enumerate(chars): print(i, chr)
运行结果:
本文以生活中字典的实际应用,主要介绍了Python字典的基础知识,用丰富的案例,帮助大家更好的去了解字典常见的的基础操作。
Atas ialah kandungan terperinci Ambil stok asas kamus Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!