1、創建一個空列表,命名為names,往里面添加 Lihua、Rain、Jack、Xiuxiu、Peiqi和Black元素。
#!-*- coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
2、往(1)中的names列表里Black前面插入一個Blue。
#!-*- coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue")
3、把names列表中Xiuxiu的名字改成中文。
#!-*- coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue") names[names.index("Xiuxiu")] = "秀秀"
4、往names列表中Rain后面插入一個子列表["oldboy","oldgirl"]。
#!-*- coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue") names[names.index("Xiuxiu")] = "秀秀" names.insert(2,["oldboy","oldgirl"]) print(names) # 驗證
5、返回names列表中Peiqi的索引值(下標)。
#!-*- coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue") names[names.index("Xiuxiu")] = "秀秀" names.insert(2,["oldboy","oldgirl"]) print(names.index("Peiqi"))
6、創建新列表[1,2,3,4,2,5,6,2,],合並到names列表中。
#!-*- coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue") names[names.index("Xiuxiu")] = "秀秀" names.insert(2,["oldboy","oldgirl"]) print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2] names.extend(numbers) # extend()方法表示合並 print(names)
7、取出names列表中索引4-7的元素。
#!-*- coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue") names[names.index("Xiuxiu")] = "秀秀" names.insert(2,["oldboy","oldgirl"]) print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2] names.extend(numbers) # extend()方法表示合並 print(names) print(names[4:8])
8、取出names列表中索引2-10的元素,步長為2。
#! -*-coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue") # print(names) names[names.index("Xiuxiu")] = "秀秀" # print(names) names.insert(2,["oldboy","oldgirl"]) # print(names) print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2] names.extend(numbers) print(names) print(names[2:11:2]) # 列表切片“顧頭不顧尾”,步長表示在指定范圍間隔取值
9、取出names列表中最后3個元素。
#! -*-coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue") # print(names) names[names.index("Xiuxiu")] = "秀秀" # print(names) names.insert(2,["oldboy","oldgirl"]) # print(names) print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2] names.extend(numbers) print(names) print(names[-3:]) # [-3:]表示取值范圍為從列表的倒數第三個到末尾
10、循環names列表,打印每個元素的索引值和元素。
#!-*- coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue") names[names.index("Xiouxiu")] = "秀秀" names.insert(2,["oldboy","oldgirl"]) print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2] names.extend(numbers) print(names) # 驗證 #方法1 for i in names: print(names.index(i),i) # 方法2 enumerate()枚舉 for index,i in enumerate(names): print(index,i)
11、循環names列表,打印每個元素的索引值和元素,當索引值為偶數時,把對應的元素改成-1。
#!-*- coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue") names[names.index("Xiuxiu")] = "秀秀" names.insert(2,["oldboy","oldgirl"]) print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2] names.extend(numbers) print(names) # 驗證 for index,i in enumerate(names): if index%2==0: names[index] = -1 print(index,i) print(names)
12、names列表里有3個2,請返回第二個2的索引值,不要人肉,要動態找。
#!-*- coding:utf-8 -*- names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"] names.insert(-1,"Blue") names[names.index("Xiuxiu")] = "秀秀" names.insert(2,["oldboy","oldgirl"]) print(names.index("Peiqi")) numbers = [1,2,3,4,2,5,6,2] names.extend(numbers) print(names) # 驗證 # 方法1 循環 count = 0 for index,i in enumerate(names): # print(index,i) if i == 2: count += 1 while count == 2: print(index) break else: continue # 方法2 print(names.index(2,names.index(2)+1))
13、現有商品列表如下:
products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]],需打印出以下格式:
------ 商品列表 ------
0 iphone 6888
1 MacPro 14800
2 小米6 2499
3 Coffee 31
4 Book 60
5 Nike 699
參考答案如下:
#!-*- coding:utf-8 -*- products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]] print("--------- 商品列表 --------") for index,i in enumerate(products): print("%s %s %s"%(index,i[0],i[1]))
14、根據(13)里的products列表寫一個循環,不斷詢問用戶想買什么,用戶選擇一個商品編號,就把對應的商品添加到購物車里,最終用戶輸入q退出時,打印購買的商品列表。
參考答案如下:
#!-*- coding:utf-8 -*- products = [["iphone",6888],["MacPro",14800],["小米6",2499],["Coffee",31],["Book",60],["Nike",699]] shop_car = [] # 用戶購物車 shop_cost = 0 # 用戶花費的金額 exit_log = False # 標志位,默認設為False,退出 while not exit_log: print("------ 商品列表 ------") for index,i in enumerate(products): print("%s %s %s"%(index,i[0],i[1])) user_choice = input("\n輸入你想購買的產品序號(按“q”退出):") if user_choice.isdigit(): # 判斷用戶輸入的是否是數字 user_choice = int(user_choice) #強制轉換為數字 if user_choice>=0 and user_choice < len(products): # 判斷用戶購買的商品是否在商品列表中 shop_car.append(products[user_choice]) # 加入購物車 shop_cost += products[user_choice][1] # 計算費用 print("\n %s 已經加入你的購物車\n"%products[user_choice]) else: print("抱歉,此商品不存在\n") elif user_choice == "q": # 用戶選擇退出 if len(shop_car)>0: # 判斷用戶是否購買了商品 print("\n------ 你的購物車 ------") for index,i in enumerate(shop_car): # index和i為臨時變量,與前一個for循環里index和i作用的列表不同,故可重用 print("%s %s"%(i[0],i[1])) print("\n你此次購物的花費合計是:%s元\n"%shop_cost) exit_log = True # 退出購物 else: exit_log = True # 未購買商品,不打印購物車商品,直接退出 else: # 輸入不合法 exit_log = True
