1. 程式人生 > >python_day06_數據類型(元組、字典)與簡易購物車

python_day06_數據類型(元組、字典)與簡易購物車

support tuple mes family nbsp 方法 只有一個 取值 for

一、元組

1.用途

元組是不可變的列表,能存多個值,若多個值只有取的需求,而沒有改的需求,那麽用元組最合理,因為列表占用的內存比元組大

2.定義方式

在()內用逗號隔開,可以存放任意類型的值

animals=("mouse","cattle","tiger")   #animals=tuple(("mouse","cattle","tiger"))
print(type(animals))

??????????強調??????????

當元組內只有一個元素時,務必記住加一個逗號,如不加逗號,這裏默認變量時括號裏的類型

animal=("mouse")
print(type(animal))  #
<class "str"> animal=("horse",) print(type(animal)) #<class "tuple">

3.常用操作+內置方法

3.1 按照索引取值(正向取+反向取) + 切片(顧頭不顧尾) ?只能取?

animals=("mouse","cattle","rabbit","tiger","horse")
#正向
print(animals[0:2])
#反向
print(animals[::-1])

#不能改值
animals[0]="hello"
TypeError: tuple object does not support item assignment

3.2 長度

animals=("dog","cat","rabbit","mouser","horse")
print(len(animals))

3.3 成員運算in和not in

animals=("cat","dragon","horse","sheep")
print("horse" in animals)

3.4 循環

course=("physical","mathmatric","english","biology")
for item in course:
    print(item)

4、該類型總結

4.1 存一個值或者多個值

可以存多個值,值可以時任意的數據類型

4.2 有序或者無序

有序

4.3 可變或者不可變

不可變

names=("luffy","sauro","luffy","brooke","luffy")
#del names[0]           #error
#names[0]="LUUFFY"#error
print(names.count("luffy"))
print(names.index("luffy",0,4))

5 列表與元組可變不可變的底層原理

??????列表可變的底層原理??????

指的時索引所對應的值的內存地址是可以改變的

??????元組不可變的底層原理??????

指的是索引所對應的值的內存地址是不可以改變的

反過來說,只要索引對應值的內存地址沒有改變,那麽元組始終是沒有改變的

元組不變指的是只要索引對應的內存地址沒有變,那麽元組始終是沒有改變的
list=("hello","boy",["sleep","read"])
print(id(list))                 #1270839132304
print(id(list[0]))             # 2712094024512
print(id(lsit[1]))             # 2712094863632
print(id(list[2]))             # 2712094065096

list[2][2]="eat"
print(list)
print(id(list[2]))             #1270839144720

python_day06_數據類型(元組、字典)與簡易購物車