1.創建一個空列表,命名為names,往里面添加old_driver,rain,jack,shanshan,peiqi,black_girl元素
names = ["old_driver","rain","jack","shanshan","peiqi","black_girl"] print(names)
2.往names列表里black_girl前面插入一個alex
names.insert(names.index("black_girl"),"alex") print(names)
3.把shanshan的名字改成中文,姍姍
names[names.index("shanshan")] = "姍姍" print(names)
4.往names列表里rain的后面插入一個子列表,["oldboy","oldgirl"]
names.insert(names.index("rain")+1,["oldboy","oldgirl"]) print(names)
5.返回peiqi的索引值
print(names.index("peiqi"))
6.創建新列表[1,2,3,4,2,5,6,2],合並入names列表
names.extend([1,2,3,4,2,5,6,2]) print(names)
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列表,打印每個元素的索引值,和元素
#枚舉 for index,name in enumerate(names): print("%s. %s" % (index,name))
#計數 index = 0 for name in names: print("%s. %s" % (index, name)) index += 1
11.循環names列表,打印每個元素的索引值,和元素,當索引值為偶數時,把對應的元素改為-1
for index,name in enumerate(names): if index % 2 == 0: names[index] = -1 print(names)
12.names里有3個2,請返回第2個2的索引值。不要人肉數,要動態找(提示,找到第一個2的位置,在次基礎上再找第2個)
print(names.index(2,names.index(2)+1))
13.查找列表(或元祖或字典)中元素,移除每個元素的空格,並查找以 a 或 A 開頭 並且以 c 結尾的所有元素
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric',"k3": "Alex", "k4": "Tony"}
#!/usr/bin/env python # -*- coding:utf-8 -*- li = ["alec", " aric", "Alex", "Tony", "rain"] for S in li: S = S.strip() prefix_a = S.startswith('a') prefix_A = S.startswith('A') suffix_c = S.endswith('c') if prefix_a or prefix_A and suffix_c: print('要查找的元素:%s' % S) tu = ("alec", " aric", "Alex", "Tony", "rain") for S in tu: S = S.strip() prefix_a = S.startswith('a') prefix_A = S.startswith('A') suffix_c = S.endswith('c') if prefix_a or prefix_A and suffix_c: print('要查找的元素:%s' % S) dic = {'k1': "alex", 'k2': ' aric',"k3": "Alex", "k4": "Tony"} for S in dic.values(): S = S.strip() prefix_a = S.startswith('a') prefix_A = S.startswith('A') suffix_c = S.endswith('c') if prefix_a or prefix_A and suffix_c: print('要查找的元素:%s' % S)
14.寫代碼,有如下列表,按照要求實現每一個功能
li = ['alex','eric','rain']
- 計算列表長度並輸出
li = ['alex','eric','rain'] v = len(li) print(v)
- 列表中追加元素 “seven”,並輸出添加后的列表
li = ['alex','eric','rain'] li.append('seven') print(li)
- 請在列表的第 1 個位置插入元素 “Tony”,並輸出添加后的列表
li = ['alex','eric','rain'] li.insert(0,'Tony') print(li)
- 請修改列表第 2 個位置的元素為 “Kelly”,並輸出修改后的列表
li = ['alex','eric','rain'] li[1] = 'Kelly' print(li)
- 請刪除列表中的元素 “eric”,並輸出修改后的列表
li = ['alex','eric','rain'] li.remove('eric') print(li)
- 請刪除列表中的第 2 個元素,並輸出刪除的元素的值和刪除元素后的列表
li = ['alex','eric','rain'] v = li.pop(1) print(v,li)
- 請刪除列表中的第 3 個元素,並輸出刪除元素后的列表
li = ['alex','eric','rain'] li.pop(2) print(li)
- 請刪除列表中的第 2 至 4 個元素,並輸出刪除元素后的列表
li = ['alex','eric','rain','rain','rain'] del li[1:4] print(li)
- 請將列表所有的元素反轉,並輸出反轉后的列表
li = ['alex','eric','rain'] li.reverse() print(li)
- 請使用 for、len、range 輸出列表的索引
li = ['alex','eric','rain'] for i in range(len(li)): print(i)
- 請使用 enumrate 輸出列表元素和序號(序號從 100 開始)
li = ['alex','eric','rain'] for i,v in enumerate(li,100): print(i,v)
- 請使用 for 循環輸出列表的所有元素
li = ['alex','eric','rain'] for i in li: print(i)
15.寫代碼,有如下列表,請按照功能要求實現每一個功能
li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
-
請根據索引輸出“Kelly”
#!/usr/bin/python # -*- coding:utf-8 -*- li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446] print(li[2][1][1])
-
請使用索引找到'all'元素並將其修改為“ALL”,如:li[0][1][9]...
#!/usr/bin/python # -*- coding:utf-8 -*- li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446] li[2][2] = "ALL" print(li)
16.寫代碼,有如下元祖,請按照功能要求實現每一個功能
tu = ('alex','eric','rain')
- 計算元組長度並輸出
tu = ('alex','eric','rain') v = len(tu) print(v)
- 獲取元組的第 2 個元素,並輸出
tu = ('alex','eric','rain') v = tu[1] print(v)
- 獲取元組的第 1‐2 個元素,並輸出
tu = ('alex','eric','rain') v = tu[0:2] print(v)
- 請使用 for 輸出元組的元素
tu = ('alex','eric','rain') for i in tu: print(i)
- 請使用 for、len、range 輸出元組的索引
for i in range(len(tu)): print(i)
- 請使用 enumrate 輸出元祖元素和序號(序號從 10 開始)
tu = ('alex','eric','rain') for i,v in enumerate(tu,10): print(i,v)
17.有如下變量,請實現要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
- 講述元祖的特性
元組的一級元素不可被修改增加刪除,有序,可迭代,可切片,可索引,可轉換為列表。
- 請問 tu 變量中的第一個元素 “alex” 是否可被修改?
不可被修改
- 請問 tu 變量中的"k2"對應的值是什么類型?是否可以被修改?如果可以,請在其中添加一個元素 “Seven”
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44]) v = tu[1][2]["k2"] v.append("Seven") print(tu)
- 請問 tu 變量中的"k3"對應的值是什么類型?是否可以被修改?如果可以,請在其中添加一個元素 “Seven”
k3對應的是元組,不可修改
18.現有商品列表如下:
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("商品信息".center(28,"-")) for index,product in enumerate(products): print("%s.%s %s" %(index,product[0],product[1])) # print("{0}.{1} {2}".format(index,product[0],product[1]))
19.利用上題中的列表,寫一個循環,不斷的問用戶想買什么,用戶選擇一個商品標號,就把對應的商品添加到購物車里,最終用戶輸入q退出時,打印購物車里的商品列表。
products = [ ['iphone8',6888], ['MacPro', 14800], ['小米6',2499], ['coffee',31],['book',80],['Nike shoes',799]] shopping_cart = [] # 定義一個空的購物車 exit_flag = False # while True: while not exit_flag: print("商品信息".center(28, "-")) for index,product in enumerate(products): print("%s. %s %d" % (index,product[0],product[1])) product_choice = input("\n請輸入商品標號:\n") if product_choice.isdigit(): #判斷輸入的字符串是否只包含數字 product_choice = int(product_choice) # 字符串轉成整型 if product_choice >= 0 and product_choice < len(products): shopping_cart.append(products[product_choice][0]) #增加到購物車列表 print("\n商品 %s 已添加到購物車\n" % (products[product_choice][0])) else: print("商品標號有誤,請重新輸入") elif product_choice == "q": if len(shopping_cart) > 0: print("\n您添加到購物車的商品如下:\n") for index,product_cart in enumerate(shopping_cart): print("%s. %s" % (index,product_cart)) else: print("\n您的購物車為空!\n") # break exit_flag = True #為真時候結束循環