Study 8 —— 數據類型(列表/list)


列表是一個數據的集合,集合內能夠聽任何數據類型,可對集合進行方便的增刪改查操做

1. 定義列表:
方法一:
L1 = []   #定義空列表
L2 = ['A', 'B', 'C']  #存3個值,索引0-2
L3 = ['A', ['B', 'C'], 'C']  #嵌套列表
 
方法二:
L4 = list()
print(L4)
列表定義的值可重複
L5 = ['a', 'A', 'b', 'a', 'B']
 
2. 查詢
變量名[索引]   #查詢索引對應值
變量名.index(內容)  #查看值索引(重複內容只給出第一個內容的索引值)
變量名.count(內容)  #統計重複值個數
 
3. 切片
切片時,索引從小到大,從左到右
變量名[開始索引:結束索引]   #只有開頭沒有結尾    
變量名[索引:]   #開始索引到末尾均可取得
變量名[:索引]   #從開頭到結束索引
變量名[:]    #提取整個列表值
變量名[索引:索引:n]  #在當前索引範圍內,每隔n個字符串,提取一次
 
4. 增長
變量名.append('字符串')    #追加字符串
變量名.insert(索引, '字符串')   #在索引前插入字符串
 
5. 修改
變量名[索引] = '字符串'   #修改當前索引字符串內容
 
6. 刪除
變量名.remove('值')   #重複值只刪除第一個
del 變量名[索引]  
del 變量名
del 變量名[索引:索引]   #批量刪除某一段
變量.clear()    #清空列表
7. 循環
循環打印列表
for 臨時變量 in 變量:
    print(臨時變量)
range(10)   #生成0-10的列表
 
for i in range(10):
    print(i)
0
1
...
9
10
 
8. 排序
變量名.sort()   #按照ASCII編碼表排序
變量名.reverse()  #倒序排列
 
9. 合併
變量A + 變量B   #將兩個列表裏的內容合併成一個列表
變量A.extend(變量B) 
 
10. copy
L2 = L1.copy()  #copy列表L1裏的值到列表L2,而且在更改L1列表值時不影響L2列表
 
練習:
1. 循環names列表,打印每一個元素的索引值,和元素,當索引值爲偶數時,把對應的元素改爲-1
names = [1, 2, 3, 4, 2, 5, 6, 2, 'old_dirver', 'rain', ['oldboy', 'oldgirl'], 'javk', ['李明'], 'peiqi', 'alex', 'black_girl']
for index,i in enumerate(names):      #enumerate  枚舉
    if index % 2 == 0:
        names[index] = -1
        print(index, i)
print(names)
 
2. products = [['Iphone8',6888],['MacPro',14800],['小米6',2499],['Coffee',31],['Book',80],['Nike Shoes',799]],寫一個循環,不斷的問用戶想買什麼,用戶選擇一個商品編號,就把對應的商品添加到購物車裏,最終用戶輸入q退出時,打印購物車裏的商品列表。
products = [['Iphone8', 6888],['MacPro', 14800],['小米6', 2499],['Coffee', 31],['Book', 80],['Nike Shoes', 799]]
commodities = []

exit_flag = False   #標識位
while not exit_flag:
    print('------------List of commodities------------')
    for index,i in enumerate(products):
        print("%s. %s   %s" %(index, i[0], i[1]))

    choice = input('輸入你想要的商品編號:')
    if choice.isdigit():
        choice = int(choice)
        commodities.append(products[choice])
        print('你選擇了: ', products[choice])
        # if choice >= 6:
        #     print('The number of input must less than 6 !')
        #     continue
        # elif choice < 0:
        #     print("The number of input can't be negative !")
        #     continue
    elif choice == 'q':
        print('========== 你選擇的全部商品以下 ==========')
        for index,i in commodities:
            print('%s   %s' %(index,i))
        #break
        exit_flag = True
相關文章
相關標籤/搜索