1. 程式人生 > 其它 >python基礎02

python基礎02

技術標籤:python基礎python

字典

字典的增刪改查

增加:d[‘name’] = name
刪除: pop()、popitem()、del、clear()
查詢:get()

d = {}
# 增
d['name'] = '老王'
d['age'] = 12
d['school'] = '1中'
d['address'] = 'china'
print(d)
#刪
d.pop('age')
print(d)
d.popitem() #隨機刪除一個鍵值對  字典是無序的
print(d)
del d['name']
print(d)
d = {'name': '老王', 'age'
: 12, 'school': '1中', 'address': 'china'} d.clear() # 全部刪除 print(d) #查詢 d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'} name = d['name'] print(name) age = d.get('age') print(age) age = d.get('age1') print(age) # 不報錯 get當找不到時返回None #改 d['name']='老劉' print(d)

輸出結果:
在這裡插入圖片描述
練習:在一個字典中輸入三個鍵值對

d = {}
for i in range(3):
    key = input("請輸入三個鍵")
    value = input("請輸入三個值")
    d[key] = value
print(d)

字典的合併

update

d = {'name': '老王', 'age': '12'}
d1 = {'性別': '女'}
d.update(d1)
print(d)

輸出結果
在這裡插入圖片描述
setdefault

d = {'name': '老王', 'age': '12'}
d.setdefault('name',"老劉")
print
(d) d.setdefault('name1',"老劉") print(d)

輸出結果:
在這裡插入圖片描述

字典獲取鍵、值、鍵值對及求字典的長度

d.keys() d.values() d.items() d.len()

d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'}
keys = d.keys()
print(keys)
values = d.values()
print(values)
items = d.items()
print(items)

print(len(d))

輸出結果:
在這裡插入圖片描述

字典的遍歷 in 和 not in

d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'}
for i in d:
    print(i)
    print(d[i])   

輸出:
在這裡插入圖片描述

d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'}
for i in d.values()
	print(i) 

輸出:
在這裡插入圖片描述

d = {'name': '老王', 'age': 12, 'school': '1中', 'address': 'china'}
print('name' in d)

for k,v in d.items():
    print(k,v)

輸出:
在這裡插入圖片描述
***能當作字典的鍵: 字串 整數 浮點數 布林 元組
不能的 : 列表 字典

練習:設計一個管理系統可以增刪改查個人資訊

d = []  # 裝所有人的資訊
a = True
while a:
    i = int(input("請選擇功能1-增加 2-查詢 3-修改 4-刪除 5-列出所有資訊 6-退出"))
    if i == 1:
        print("請輸入資訊")
        l = {}
        name = input("姓名")
        age = input("age")
        gender = input("性別")
        l['name'] = name
        l['age'] = age
        l['gender'] = gender
        print(l)
        d.append(l)
    elif i == 2:
        name = input("要查詢的姓名")
        # d=[{},{},{},{}]
        flag = False
        for d1 in d:
            if d1.get('name') == name:
                print('姓名:{}\n年齡:{}\n性別:{}\n'.format(name, d1.get('age'), d1.get('gender')))
                flag = True
                break
        if not flag:
            print("查無此人")
    elif i == 3:
        name = input("請輸入要修改的人的姓名")
        flag = False
        for d1 in d :
            if d1.get('name') == name:
                while True:
                    num = int(input("找到此人你要修改什麼 1-姓名 2-年齡 3-性別 4-退出修改"))
                    if num == 1:
                        name = input("請輸入修改後的姓名")
                        d1['name'] = name
                    elif num == 2:
                        age = input("請輸入修改後的年齡")
                        d1['age'] = age
                    elif num == 3:
                        gender = input("請輸入修改後的性別")
                        d1['gender'] = gender
                    elif num == 4:
                        break
                flag = True
                break
        if not flag:
            print("查無此人")
    elif i == 4:
        name = input("要刪除的人的姓名")
        flag = False
        for d1 in d:
            if d1.get('name') == name:
                d.remove(d1)
                flag = True
                break
        if not flag:
            print("系統中沒有這個人")
    elif i == 5:
        for d1 in d:
            print('姓名:{}\n年齡:{}\n性別:{}\n'.format(d1.get('name'), d1.get('age'), d1.get('gender')))
    elif i == 6:
        break
    else:
        print("您輸入的數字無對應功能")

***為False的變數

l=[]
d={}
i=""
s=0
print(bool(l))

輸出:False