Python列表練習題


1、創建一個空列表,命名為names,往里面添加 Lihua、Rain、Jack、Xiuxiu、Peiqi和Black元素。

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
View Code

2、往(1)中的names列表里Black前面插入一個Blue。

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
View Code

3、把names列表中Xiuxiu的名字改成中文。

#!-*- coding:utf-8 -*-

names = ["Lihua","Rain","Jack","Xiuxiu","Peiqi","Black"]
names.insert(-1,"Blue")
names[names.index("Xiuxiu")] = "秀秀"
View Code

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) # 驗證
View Code

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"))
View Code

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)
View Code

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])
View Code

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]) # 列表切片“顧頭不顧尾”,步長表示在指定范圍間隔取值
View Code

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:]表示取值范圍為從列表的倒數第三個到末尾
View Code

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) 
View Code

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)
View Code

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)) 
View Code

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]))
View Code

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
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM