一: 本节学习心得与体会
- 体会到了编程就得,多练习,列表字典集合这些知识虽然简单,但练习题做起来还是有点磕磕绊绊的。
- 加深了几个重要的知识点的使用,譬如,在索引里用索引names[names.index("shanshan")],最后几个元素可以用加负号表示print(names[-3:]),还有列表的第12道题,要灵活用切片,遍历第一个2的索引之后的全部元素。
- 以后学到新知识要多多练习。
二:练习题
1.列表练习题
#1、创建一个空列表,命名为names,往里面天添加old_driver,rain,jack,shanshan,peiqi,black,black_girl元素 names = [] names.append("old_driver") names.append("rain") names.append("jack") names.append("shanshan") names.append("peiqi") names.append("black") names.append("black_girl") #2、往names列表里black_girl前面插入一个alex names.insert(names.index("black_girl"),"alex") #3、把shanshan的名字改成中文 姗姗 names[names.index("shanshan")] = "姗姗" #4、往names列表里rain的后面插入一个子列表[oldboy,oldgirl] names.insert(names.index("rain"),["oldboy","oldgirl"]) #5、返回peiqi的索引 print(names.index("peiqi")) #6、创建新列表[1,2,3,4,2,5,6,2],合并入names列表 new_list= [1,2,3,4,2,5,6,2] names = names + new_list #7、取出names列表中索引4-7的元素 print(names[4:7]) #8、取出names列表中索引2-10的元素,步长为2 print(names[2:10:2]) #9、取出names列表中最后3个元素 print(names[-3:]) #10、循环names列表,打印每个元素的索引值,和元素 count = 0 for i in names: print(count,i) count += 1 #11、循环names列表,打印每个元素的索引值和元素,当索引值为偶数,把对应的元素改成-1 方法一 count = 0 for i in names: if count%2 == 0 : names[count] = -1 print(count,i) count += 1 else: print(count,i) count += 1 print(names) #12、names里有3个2,请返回第2个2的索引值,不要人肉数,要动态找(提示,找到第一个2的位置,在此基础上再找第2个) count=0 first=names.index(2) for i in names[first+1:]: if i==2: second= first+count+1 count+=1 print(second) #13、现有商品列表如下: products = [ ['Iphone8',6888],['MacPro',14800], ['小米6',2499],['Coffee',31],['Book',80],['Nike Shoes',799] ] 需打印出这样的格式 ---------商品列表---------- 0. Iphone8 6888 1. MacPro 14800 2. 小米6 2499 3. Coffee 31 4. Book 80 5. Nike Shoes 799 products = [ ['Iphone8',6888],['MacPro',14800], ['小米6',2499],['Coffee',31],['Book',80],['Nike Shoes',799] ] print("---------商品列表----------") index=0 for i in products: print( index,i[0], i[1]) index+=1 #14、写一个循环,不断的问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车里,最终用户输入q退出时,打印购物车里边的商品列表 shop = [] while True: print("---------商品列表----------") index = 0 for i in products: print(index, i[0], i[1]) index += 1 want = input("您想要买什么,请输入商品编号,输入q退出") if want.isdigit(): want = int(want) shop.append(products[want]) elif want == "q": print("您已购买以下商品:") for i in shop: print(i[0], i[1]) break
2字典练习题
#写代码,有如下字典,按照要求实现每一个功能 dic = { "k1":"v1", "k2":"v2", "k3":"v3" } #1、请循环遍历出所有的key for k in dic: print(k) #2、请循环遍历出所有的value for k in dic: print(dic[k]) #3、请循环便利出所有的key 和value for k in dic: print(k,dic[k]) #4、请在字典中添加一个键值对 "k4":"v14",输出添加后的字典 dic["k4"] = "v4" #5、请删除字典中键值对"k1","v1" 并输出删除后的自恋 dic.pop("k1") print(dic) #6、请删除字典中的键值“k5”,如果字典中不存在键“k5” ,则不报错,返回None dic.pop("k5") #7、请获取字典中“k2”对应的值 print(dic.get("k2")) #8、请获取字典中“k6”对应的值,如果键“k6”不存在,则不报错,并且让其返回None print(dic.get("k6")) #9、现有dic2 = {"k1":"v111","a":"b"} 通过一行操作使 dic2 ={'k1': 'v1', 'a': 'b', 'k2': 'v2', 'k3': 'v3'} dic2 = {"k1":"v111","a":"b"} dic = {"k1":"v1","k2":"v2","k3":"v3"} dic2.update(dic) print(dic2) #10、组合嵌套题,写代码,有如下列表,按照要求实现每一个功能 lis = [["k",["que",20,{"k1":["tt",3,"1"]},89],"ab"]] #10.1 将列表lis中的“tt”变成大写(用两种方式) lis[0][1][2]["k1"][0] = "TT" print(lis) lis[0][1][2]["k1"]= ["TT",3,"1"] print(lis) #10.2 将列表中的数字3变成字符串“100”(用两种方式) lis[0][1][2]["k1"][1] = "100" print(lis) lis[0][1][2]["k1"][1] = ["TT","100","1"] #10.3 将列表中的字符串“1”变成数字101(用两种方式) lis[0][1][2]["k1"][2] = 101 print(lis) lis[0][1][2]["k1"][1] = ["TT","100","101"]