===================
python串列練習題
===================
一、創建串列
1.創建一個串列,命名為names,往里面添加陳賢賢、大財神、飛魚、WuYing、阿陽和Black元素,
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
print(names)
結果[‘陳賢賢’, ‘大財神’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’]
2.串列文字的添加
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
print('我建的學習群有', len(names), '個學生在微信群里面')
print('我建的學習群有' + str(len(names)) + '個學生在微信群里面')
for item in names:
print(names)
print('我在渡劫也加入了微信群')
names.append('我在渡劫')
print('現在我的微信群是', names)
結果:
我建的學習群有 6 個學生在微信群里面 #6的前后都有空格存在
我建的學習群有6個學生在微信群里面 # 6個前后沒有空格存在
陳賢賢
大財神
飛魚
WuYing
阿陽
Black
我在渡劫也加入了微信群
現在我的微信群是 [‘陳賢賢’, ‘大財神’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’, ‘我在渡劫’]
二、在串列中插入元素
1.往names串列中的最后一個元素Black前面插入一個張四歲,
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names.insert(-1, "張四歲")
print(names)
結果[‘陳賢賢’, ‘大財神’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘張四歲’, ‘Black’]
2.往names串列中最前面的元素陳賢賢前面插入張四歲
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names.insert(0, '張四歲')
print(names)
結果[‘張四歲’, ‘陳賢賢’, ‘大財神’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’]
3.往names串列中中間部位的元素飛魚前面插入張四歲
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names.insert(2, '張四歲')
print(names)
結果[‘陳賢賢’, ‘大財神’, ‘張四歲’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’]
4.往names串列中大財神后面插入一個子串列[“老男孩”,“老女孩”],
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names.insert(2, ["老男孩", "老女孩"])
print(names)
結果:[‘陳賢賢’, ‘大財神’, [‘老男孩’, ‘老女孩’], ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’]
三、改變串列中的某一個元素的名稱
1.把names串列中WuYing的名字改成中文,
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names[names.index("WuYing")] = "吳瑩"
print(names)
結果:[‘陳賢賢’, ‘大財神’, ‘飛魚’, ‘吳瑩’, ‘阿陽’, ‘Black’]
2.把names串列中飛魚的名字改成數字666
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names[names.index('飛魚')] = 666
print(names)
結果:[‘陳賢賢’, ‘大財神’, 666, ‘WuYing’, ‘阿陽’, ‘Black’]
3.修改特定元素
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names[3] = "吳瑩"
print(names)
結果:[‘陳賢賢’, ‘大財神’, ‘飛魚’, ‘吳瑩’, ‘阿陽’, ‘Black’]
4.批量修改元素名
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names[0:2] = 'abcd' # 將索引0-2替換為abcd,切片之后迭代處理
print(names)
結果:[‘a’, ‘b’, ‘c’, ‘d’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’]
四、確定串列中元素的位置(索引值)
1.回傳names串列中阿陽的索引值(下標),
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
print(names.index("阿陽"))
結果:4
五、兩個串列的合并
1.創建新串列numbers,依次包含1,2,3,4,2,5,6,2等數,并把新串列合并到names串列中,
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
numbers = [1, 2, 3, 4, 2, 5, 6, 2]
names.extend(numbers) # extend()方法表示合并
print(names)
結果:[‘陳賢賢’, ‘大財神’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’, 1, 2, 3, 4, 2, 5, 6, 2]
六、取出串列中指定元素
1.取出names串列中索引4-7的元素,
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black", 1, 2, 3, 4, 2, 5, 6, 2]
print(names[4:8])
結果:[‘阿陽’, ‘Black’, 1, 2]
2.取出names串列中索引2-10的元素,步長為2,
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black", 1, 2, 3, 4, 2, 5, 6, 2]
print(names[2:11:2]) # 串列切片“顧頭不顧尾”,步長表示在指定范圍間隔取值
#結果:[‘飛魚’, ‘阿陽’, 1, 3, 2]
3.取出names串列中最后3個元素,
names = ['陳賢賢', '大財神', ['老男孩', '老女孩'], '飛魚', '吳瑩', '阿陽', '張四歲', 'Black', 1, 2, 3, 4, 2, 5, 6, 2]
print(names[-3:]) # [-3:]表示取值范圍為從串列的倒數第三個到末尾
結果:[5, 6, 2]
七、列印特定索引值和元素
1.回圈names串列,列印每個元素的索引值和元素,
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
方法1
for i in names:
print(names.index(i), i)
方法2 enumerate()列舉
for index, i in enumerate(names):
print(index, i)
結果:
0 陳賢賢
1 大財神
2 飛魚
3 WuYing
4 阿陽
5 Black
2.回圈names串列,列印每個元素的索引值和元素,當索引值為偶數時,把對應的元素改成-1,
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black", 1, 2, 3, 4, 2, 5, 6, 2]
for index, i in enumerate(names):
if index % 2 == 0:
names[index] = -1
print(index, i)
print(names)
結果:[-1, ‘大財神’, -1, ‘WuYing’, -1, ‘Black’, -1, 2, -1, 4, -1, 5, -1, 2]
3.names串列里有3個2,請回傳第二個2的索引值,不要人肉,要動態找,
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black", 1, 2, 3, 4, 2, 5, 6, 2]
方法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))
結果:10
4.現有商品串列如下:
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
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]))
結果:
--------- 商品串列 --------
0 iphone 6888
1 MacPro 14800
2 小米6 2499
3 Coffee 31
4 Book 60
5 Nike 699
5.根據products串列寫一個回圈,不斷詢問用戶想買什么,用戶選擇一個商品編號,就把對應的商品添加到購物車里,最終用戶輸入q退出時,列印購買的商品串列,
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
6.列印串列本身
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
print(names)
結果:[‘陳賢賢’, ‘大財神’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’]
7.依順序列印串列中所有元素
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
方法一
print(names[0])
print(names[1])
print(names[2])
print(names[3])
print(names[4])
方法二
for i in names:
print(i)
結果:[‘陳賢賢’, ‘大財神’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’]
8.調取一個串列元素的方法
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
print(names[3])
結果:WuYing
八、統計串列中元素的個數
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
print(len(names))
結果:6
九、增加串列中元素的方法:append方法
score = []
print(score)
score.append(80)
print(score)
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names.append(1705)
names.append('HZH')
print(names)
print(names.append('HZH')) # 無回傳值,names.append
結果:
[]
[80]
[‘陳賢賢’, ‘大財神’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’, 1705, ‘HZH’]
None
十、串列轉換成字串
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
a = "、".join(names)
print(a)
結果:陳賢賢、大財神、飛魚、WuYing、阿陽、Black
十一、洗掉元素
1.按照元素洗掉
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names.remove('飛魚')
print(names)
結果:[‘陳賢賢’, ‘大財神’, ‘WuYing’, ‘阿陽’, ‘Black’]
2.按照索引洗掉
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names = names.pop() # 不寫索引就洗掉最后一個之外所有其他的
print(names)
‘’‘
結果:Black
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names = names.pop(2) # 保留第3個,洗掉所有其他的
print(names)
結果:飛魚
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
names = names.clear() # 清除串列
print(names)
結果:None
names = ["陳賢賢", "大財神", "飛魚", "WuYing", "阿陽", "Black"]
for i in range(len(names)): # 一個一個地洗掉
print(i)
del names[0]
print(names)
結果:
0
[‘大財神’, ‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’]
1
[‘飛魚’, ‘WuYing’, ‘阿陽’, ‘Black’]
2
[‘WuYing’, ‘阿陽’, ‘Black’]
3
[‘阿陽’, ‘Black’]
4
[‘Black’]
5
[]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/20070.html
標籤:其他
上一篇:[Python從零到壹] 二.語法基礎之條件陳述句、回圈陳述句和函式
下一篇:python-酷我音樂(爬蟲)
