#用於取其中一個值 name = ['yang','wen','yi'] ##正方向取wen,也就是從左到右 pritn(name[1]) ##正方向取wen,也就是從右到左 print(name[-2])
#用於取多個值 name = ['yang','wen','yi'] #取其中的yang wen print(name[0:2]) #和字符串相似顧頭不顧尾 print(name[0:-1]) print(name[-3:-1]) print(name[:2]) #這兩個是上面基礎上精簡的 print(name[:-1])
#用於長度3 name = ['yang','wen','yi'] print(len(name))
#用於判斷有誤值在裏面 name = ['yang','wen','yi'] print('wennnn' in name) #False print('wen' in name) #True
#只加在最後 name = ['yang','wen','yi'] print(name.append(22)) #None print(name) #['yang', 'wen', 'yi', 222]
name = ['yang','wen','yi'] #刪除wen del name[1]
name = ['yang','wen','yi'] for i in name: print(i) #yang #wen #yi
name_list = ['nick', 'jason', 'tank', 'sean'] name_list.insert(1, 'handsome') #加入後那個值的位置,加入的值 print(f"name_list: {name_list}")
# list之pop(),pop()默認刪除最後一個元素,刪除一個元素 name_list = ['nick', 'jason', 'tank', 'sean'] print(f"name_list.pop(1): {name_list.pop(1)}") #會顯示刪除的值 print(f"name_list: {name_list}")
# list之remove() 刪除一個元素 name_list = ['nick', 'jason', 'tank', 'sean'] print(f"name_list.remove('nick'): {name_list.remove('nick')}") #會輸出None
# list之count() #x顯示對於值的個數 name_list = ['nick', 'jason', 'tank', 'sean'] print(f"name_list.count('nick'): {name_list.count('nick')}")
查找索引python
刪除列表元素算法
name_list = ['nick', 'jason', 'tank', 'sean'] print(f"name_list.copy(): {name_list.copy()}")
# list之extend() name_list = ['nick', 'jason', 'tank', 'sean'] name_list2 = ['nick handsome'] name_list.extend(name_list2) print(f"name_list: {name_list}") #name_list: ['nick', 'jason', 'tank', 'sean', 'nick handsome'] 在末尾加入
# list之reverse() name_list = ['nick', 'jason', 'tank', 'sean'] name_list.reverse() print(f"name_list: {name_list}") # name_list: ['sean', 'tank', 'jason', 'nick'] 翻轉
# list之sort(),使用sort列表的元素必須是同類型的 name_list = ['nick', 'jason', 'tank', 'sean'] name_list.sort() print(f"name_list: {name_list}") #name_list: ['jason', 'nick', 'sean', 'tank'] #升序 name_list.sort(reverse=True) print(f"name_list_reverse: {name_list}") #name_list_reverse: ['tank', 'sean', 'nick', 'jason'] #降序
多個值app
有序函數
可變code
(),中間加元素用,隔開排序
(與列表類似,區別是能夠讀取不可存儲改變,列表中關於存儲或者更名元素的內容內置函數元祖不行)索引
3.一個值或者多個值隊列
多個值rem
4.有序或者無序字符串
有序
5.可變或者不可變
不可變
dict = {'name':'yang','age':18} #取 姓名 dict[name]
dict = {'name':'yang','age':18} #取 長度 len(dict)
判斷有無key而不是值
dict = {'name':'yang','age':18} #刪除名字 dal dict[name]
#演示便可 dict = {'name':'yang','age':18} print(dict.keys()) print(dict.values()) print(dict.items()) ''' dict_keys(['name', 'age']) dict_values(['yang', 18]) dict_items([('name', 'yang'), ('age', 18)]) '''
dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4} for k, v in dic.items(): # items能夠換成keys()、values() print(k, v) #a 1 #b 2 #c 3 #d 4
和key取值有點相似區別就是取不到不會報錯,可是不能用get來更換值
# dic之update() dic1 = {'a': 1, 'b': 2} dic2 = {'c': 3}#若是dic2與dic1中key有相同的,則不會增長新的key更新值,若是沒有相同的則會添加key還有值 dic1.update(dic2) print(f"dic1: {dic1}") #dic1: {'a': 1, 'b': 2, 'c': 3}
# dic之fromkeys() dic = dict.fromkeys(['name', 'age', 'sex'], None) print(f"dic: {dic}") #給目錄賦予相同的值
# dic之setdefault(),有指定key不會改變值;無指定key則改變值 dic = {'a': 1, 'b': 2} print(f"dic.setdefault('a'): {dic.setdefault('a',3)}") print(f"dic: {dic}") print(f"dic.setdefault('c'): {dic.setdefault('c',3)}") print(f"dic: {dic}") #dic.setdefault('a'): 1 #dic: {'a': 1, 'b': 2} #dic.setdefault('c'): 3 #dic: {'a': 1, 'b': 2, 'c': 3}
有列表data=['alex',49,[1900,3,18]]
,分別取出列表中的名字,年齡,出生的年,月,日賦值給不一樣的變量:
data=['alex',49,[1900,3,18]] name,age,data_1 = data year,month,day = data_1 print(name,age,year,month,day) ##################### data=['alex',49,[1900,3,18]] a,b,c = data d,e,f = c data = [a,b,d,e,f] keys = ['姓名','年齡','年','月','日'] dic= {} time = 0 while time < len(data): dic.setdefault(keys[time],data[time]) time += 1 print(dic)
# 答案,經過該答案模仿寫出第3題 lis = [] print(f"進隊列前lis: {lis}") # 進隊列 for i in range(1, 6): lis.append(i) print(i) print(f"結束進入隊列lis: {lis}") # 出隊列 for i in range(len(lis)): print(lis.pop(0)) print(f"出隊列後lis: {lis}")
用列表模擬堆棧(最後進入列表的元素會先出來):
new_lis = [] for i in range(1,6): new_lis.append(i) new_lis.reverse() print(new_lis)
lis=[ {'name':'alex','age':84}, {'name':'oldboy','age':73}, {'name':'egon','age':18}, ] # 經過姓名排序參考(涉及匿名函數): lis.sort(key=lambda item:item['name']) lis.sort(key=lambda item:item['age']) # 冒泡函數 lis = [ {'name' : 'yang','age' : 6 }, {'name' : 'wen','age' : 3 }, {'name' : 'yi','age' : 1 } ] for i in range(len(lis)): for j in range(i+1,len(lis)): if lis[i]['age'] >lis[j]['age']: lis[i],lis[j] = lis[j],lis[i] print(lis)
有以下值集合[11,22,33,44,55,66,77,88,99,90...]
,將全部大於 66 的值保存至字典的第一個key中,將
小於 66 的值保存至第二個key的值中,結果爲{'k1': 大於66的全部值, 'k2': 小於66的全部值}
:
k1_list = [] k2_list = [] new_dict = {'k1':k1_list,"k2":k2_list} a = [11,22,33,44,55,66,77,88,99,90] for i in a: if i >=66: k1_list.append(i) elif i < 66: k2_list.append(i) print(new_dict)
統計s='hello jason tank tank jason sean say hello dsb dsb sb'
中每一個單詞的個數,結果爲`{'hello': 2, 'alex': 0, 'say': 1, 'sb': 1}
s='hello jason tank tank jason sean say hello dsb dsb sb' hello_num = s.count('hello') alex_num = s.count('alex') sb_num = s.split().count('sb') say_num = s.count('say') new_dic = {'hello':hello_num,'alex':alex_num,'say':say_num,'sb':sb_num} print(new_dic) #{'hello': 2, 'alex': 0, 'say': 1, 'sb': 1}