python

tupleanddictionary

2018/10/19 陳惴棋

目錄

  • 複習
  • 上周練習解答
  • tuple
  • dictionary

複習

for

while

list

上周練習解答

上周練習解答

輸入非0整數(輸入0結束)

輸出正數(依輸入順序)


list1=[]
while True:
    try:
        i=int(input())
        if i==0:
            break
        elif i>0:
            list1.append(i)
    except:
        print('INPUT ERROR!')
for i in range(len(list1)):
    print(list1[i])
						

上周練習解答

輸入5整數,輸出排序後的數列

輸入1整數(輸入X離開)

輸出最後5個輸入的整數排序後的數列


list1=[int(i) for i in input().split()]
list2=sorted(list1)
for i in range(5):
    print(list2[i])
n=input()
while n!='X':
    n=int(n)
    del list1[0]
    list1.append(n)
    list2=sorted(list1)
    for i in range(5):
        print(list2[i])
    n=input()
						

tuple

tuple

  • 執行速度比list更快
  • 安全

tuple

元組名稱=(元素1,元素2,...)


tuple1=(1,2,3,4,5)
						

tuple

  • 沒有append,insert,extend等更改內容的函數
  • 其餘使用方式與list相同

dictionary

dictionary

字典名稱={鍵1:值1,鍵2:值2,...}

鍵不可重複(前項被覆蓋)


dict1={'數學':98,'國文':75,'英文':30}
print(dict1['數學'])
						

dictionary進階操作


dict1={'數學':98,'國文':75,'英文':30}
len(dict1)
dict1.clear()
dict1.copy()
dict1.get(鍵,值)
鍵 in dict1
dict1.items()
dict1.keys()
dict1.setdefault(鍵,值)
dict1.values()
						

dictionary進階操作

  • keys()
  • values()

dict1={'數學':98,'國文':75,'英文':30}
listkey=list(dict1.keys())
listvalue=list(dict1.values())
for i in range(len(listkey)):
    print('%s的成績為%d分'%(listkey[i],listvalue[i]))
						

dictionary進階操作

  • items()

dict1={'數學':98,'國文':75,'英文':30}
listitem=dict1.items()
for name,score in listitem:
    print('%s的成績為%d分'%(name,score))
						

dictionary進階操作

  • get()
  • setdefault()


dict1={'數學':98,'國文':75,'英文':30}
print('數學:',dict1.get('數學',0))
print('程式:',dict1.setdefault('程式',100))
						

練習

專案:農夫渡河

END