python_列表——元組——字典——集合

Carter_qx發表於2019-01-17

列表——元組——字典——集合:

列表:


# 一:基本使用
# 1、用途:存放多個值

# 定義方式:[]內以逗號為分隔多個元素,列表內元素無型別限制
# l=[`a`,`b`,`c`] #l=list([`a`,`b`,`c`])
# l1=list(`hello`)
# print(l1)

# 常用操作+內建的方法

# 按索引存取值(正向存取+反向存取):即可改也可以取
l = [`a`, `b`, `c`]
print(id(l))
print(l[-1])
l[0] = `A`
print(id(l))
print(l)
l[3] = `d` # 報錯


# 2、切片(顧頭不顧尾,步長)
stus = [1,2,3,`a`,`b`,`c`]

print(stus[1:3])

# 3、長度
# stus = [1,2,3,`a`,`b`,`c`]
# print(len(stus))

# 4、成員運算in和not in
# stus = [1,2,3,`a`,`b`,`c`]
# print(`a` in stus)

# 5、追加
# stus = [1,2,3,`a`,`b`,`c`]
# stus.append(`d`)
# stus.append(`c`)
# print(stus)
# 插入
# stus = [1,2,3,`a`,`b`,`c`]
# stus.insert(1,`x`)
# print(stus)

# 6、刪除
# stus = [1,2,3,`a`,`b`,`c`]
# del stus[1]
# print(stus)
# stus.remove(`a`)
# print(stus)

# stus.pop(1)
# stus.pop() # 預設刪除末尾
# print(stus)

# res1=stus.remove(`c`) # 單純的刪除
# print(res1)
# res2=stus.pop(0) # 取走一個值
# print(res2)

# 7、迴圈
# stus = [1,2,3,`a`,`b`,`c`]
# 依賴索引
# i=0
# while i < len(stus):
# print(stus[i])
# i+=1

# for i in range(len(stus)):
# print(i,stus[i])

# 不依賴索引
# for item in stus:
# print(item)


# 補充for迴圈
# for i in range(0,5,2): #0 2 4
# print(i)
# for i in range(10):#預設從零起始
# print(i)

# for i in range(10,-2,-1):
# print(i)
 

 

元組:

# 元組:相當於不可變的列表

# t = (1, 2, 3, `a`, `b`, `c`)
# print(id(t[2]))

# 用途:當存放的多個值,只有讀的需求,沒有改的需求時,可以用元組

# 常用操作:
# 依賴索引

# t = (1, 2, 3, `a`, `b`, `c`)
#
# i = 0
# while i < len(t):
#     print(t[i])
#     i += 1
#
# for i in range(len(t)):
#     print(t[i])
#
#
# # 不依賴索引
# for item in t:
#     print(item)
#
# list(`hello`)
# v = list(t)
# v = set(t)
# v = tuple(t)

 

字典:

# 根據數列,建立字典,並制定統一的值:
dic = {
    `asd`: `123`,
    `qx`: `cac`
}
# v = dict.fromkeys([`asd`, 113, `gsd`],123)
# v = dic[`qx`]
# v = dic.get(`aad`,12321)
# v = dic.pop(`aasd`, 121)
# v = dic.popitem()
# v = dic.setdefault(`qx`, `12e`)
# v = dic.update({`qwd`:`1321`,`fas`:1231})
# print(dic)
# print(v)
# dic.keys() .values() .items() .get() .update()

 

集合:

# 定義:
# s1={1,2,3, `a`, `b`, `c`}
# s2={4,5,6, `a`, `b`}
# 注意:
#     集合無序
#     集合內元素不能重複
#     集合內的元素必須為不可變型別,但set集合是可變
# 用途:
#     集合使用來進行關係元素,單獨取集合的某一個元素是沒有意義,也沒有相應的方法
#
#     交集:s1 & s2取兩個集合的共同部分
#     差集:s1-s2,結果存於s1而不存於s2的元素集合
#     補集:s1 ^ s2,扣掉s1與s2共同部分,剩下的部分合到一起
#     並集:s1 | s2把兩個合到一起,去掉重複

 

購物程式:

product_list=[
    (`Mac Book`,9000),
    (`Mate Book`,8000),
    (`Magic Book`,5000),
    (`Think Pad`,4000),
    (`Lenovo`,5000),
    (`SAMSUNG`,7000),
    (`OPPO`,3000),
    (`MI`,2500),
    (`HUAWEI`,4500),
]
saving=input(`請輸入你的錢:`)
shopping_car=[]
if saving.isdigit():
    saving=int(saving)
    while True:

        for i,v in enumerate(product_list,1):

            print(i,`>>>>`,v)
        choice=input(`請選擇購買的商品號:[結束購買請輸入:W]: `)
        if choice.isdigit():
            choice=int(choice)
            if choice>0 and choice<=len(product_list):

                p_item=product_list[choice-1]
                if p_item[1]<saving:
                    saving-=p_item[1]
                    shopping_car.append(p_item)
                else:
                    print(`餘額不足,還剩%s`%saving)
                print(p_item)
            else:

                print(`您輸入的號碼不正確,請重新輸入`)

        elif choice==`W`:

            print(
                `------------您已經購買如下商品--------------`
            )
            for i in shopping_car:
                print(i)
            print(`您還剩%s元錢`%saving)
            break
        else:
            print(`invalid input`)

 

相關文章