20210617 strat
今日目標
鍵值類型——字典型
要寫寫代碼了末早,怕有些生疏
趕緊往下復習吧烟馅,很想看 面向?qū)ο竽莻€部分,還有爬蟲那里
新內(nèi)容
字典
字典中的鍵值對然磷,值除了可以是數(shù)字之外郑趁,還可以取任何數(shù)據(jù)類型,比如列表姿搜、元組寡润,甚至是字典捆憎。
但鍵必須是不可變的數(shù)據(jù)類型,比如字符串梭纹、數(shù)字或元組躲惰,列表是可變的數(shù)據(jù),不能用來當作字典的鍵变抽〈〔Γ——以前沒注意
案例——學員已經(jīng)分好班,輸入后绍载,查找班級诡宗、姓名歡迎?——案例不好击儡,但是方法可以實現(xiàn)
#? 思路20210617 先判斷班級塔沃,再在班級名單里遍歷
代碼
dict={1:['lize','shipengfei'],2:['xiaoyouzi','youzi','shijiayou'],3:['sjx','lcf']}
print(dict)
c=0
while True:
? ? inp_cl=input('cl no.\n')
? ? inp_name=input('name\n')
? ? for i in dict.keys():
? ? ? ? if int(inp_cl)==i: #!字符型要轉(zhuǎn)換為int后再比較,否則永無相等
? ? ? ? ? ? for j in range(0,len(dict[i])):
? ? ? ? ? ? ? ? if inp_name==dict[i][j]:
? ? ? ? ? ? ? ? ? ? print('welcome')
? ? ? ? ? ? ? ? ? ? c=c+1? # 計數(shù)器作用阳谍,看是否有相等的
? ? ? ? ? ? ? ? ? ? break
? ? if c>=1:
? ? ? ? break
理解:不僅字典中可以存放列表芳悲,列表中的元素也同樣可以是字典。
代碼1——理解列表里嵌套字典边坤,這樣也有無限可能
dict1 = {'姓名':'張三','專業(yè)':'美術(shù)','學號':'001'}
dict2 = {'姓名':'李四','專業(yè)':'計算機','學號':'002'}
dict3 = {'姓名':'王五','專業(yè)':'廣告','學號':'003'}
student_info = [dict1,dict2,dict3]
#遍歷列表,打印每個學生信息
for i in student_info:
? ? print(i)
list=[1,2,3,4]
for i in list:? # ——幫助回憶理解 list列表的打印輸出是什么樣的——其實就是一個元素一行
? ? print(i)
結(jié)果1
{'姓名': '張三', '專業(yè)': '美術(shù)', '學號': '001'}? ——每一個student_info 列表里的元素谅年,是一個字典茧痒,所以打印出來帶{}
{'姓名': '李四', '專業(yè)': '計算機', '學號': '002'}
{'姓名': '王五', '專業(yè)': '廣告', '學號': '003'}
1
2
3
4
代碼2——理解列表切片
dict1 = {'姓名':'張三','專業(yè)':'美術(shù)','學號':'001'}
dict2 = {'姓名':'李四','專業(yè)':'計算機','學號':'002'}
dict3 = {'姓名':'王五','專業(yè)':'廣告','學號':'003'}
student_info = [dict1,dict2,dict3]
#打印列表中前兩個元素
print(student_info[0:2])——因為是切片,而列表的切片仍是列表融蹂,所以最后是[]
結(jié)果2
[{'姓名': '張三', '專業(yè)': '美術(shù)', '學號': '001'}, {'姓名': '李四', '專業(yè)': '計算機', '學號': '002'}]
代碼3——理解元組
dict1 = {'姓名':'張三','專業(yè)':'美術(shù)','學號':'001'}
dict2 = {'姓名':'李四','專業(yè)':'計算機','學號':'002'}
dict3 = {'姓名':'王五','專業(yè)':'廣告','學號':'003'}
student_info = (dict1,dict2,dict3)
#打印列表中前兩個元素
print(student_info)——因為元組不能切片旺订,所以只能全部打印出來。&2.打印元組就是print(元組名不帶括號)
元組也不能call 所以沒有 print(student_info())
結(jié)果3
({'姓名': '張三', '專業(yè)': '美術(shù)', '學號': '001'}, {'姓名': '李四', '專業(yè)': '計算機', '學號': '002'}, {'姓名': '王五', '專業(yè)': '廣告', '學號': '003'})? ——看輸出 就是帶()的元組哦
懦迹客網(wǎng)自測題
題目——反向輸出
描述
將一個四位數(shù)区拳,反向輸出。
輸入描述:
一行意乓,輸入一個整數(shù)n(1000 <= n <= 9999)樱调。
輸出描述:
針對每組輸入,反向輸出對應(yīng)四位數(shù)届良。
思路20210617——字符串其實可以看做列表笆凌,倒序打印列表元素就好
具體代碼
input_num=input()
for i in range(0,4):
? ? print(input_num[3-i],end="")
評測
運行時間 31ms
占用內(nèi)存 6780KB
思路20210617——字符串好像沒有倒序函數(shù)(reversed是啥的來著?)
20210617 end
今日收獲
對字典和列表的組合使用有了新認識,但是目前正好卡在 修改列表中某個字典的某個鍵的值上——想一想
幾種數(shù)據(jù)類型,又熟悉了一些枫夺,不過鍵值對遍歷的問題還需熟練
還沒新看到什么內(nèi)容
而判堪耄客網(wǎng)的題目沒幾個會的——有點難過羞芍,要加強學習哦址遇!