1. 程式人生 > >Python開發【第2篇】【數據類型】

Python開發【第2篇】【數據類型】

修改元素 八進制 ola pen str count() list name sort

一、數字

數字數據類型用於存儲數值。

他們是不可改變的數據類型,這意味著改變數字數據類型會分配一個新的對象。

# 創建對象
var1 = 1
var2 = 2

# 刪除對象
del var1
del var1,var2

四種不同的數字類型

  • int(有符號整型)

  • long(長整型[也可以代表八進制和十六進制])

  • float(浮點型)

  • complex(復數)

二、字符串

字符串是由數字、字母、下劃線組成。

str = Hello World
 
print(str)                 #輸出完整字符串
print(str[0])              #
輸出字符串中的第一個字符 print(str[2:5]) #輸出字符串中第三個至第五個之間的字符 print(str[2:]) #輸出從第三個開始到最後的字符串 print(str*2) #輸出字符串兩次 print(say: + str) #輸出連接的字符串

三、列表

1、特點:可重復,類型可不同

2、列表操作

列表定義

names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]

列表元素訪問

# 打印第一個元素
print name[0]

# 打印最後一個元素
print name[-1]

切片

# 定義1個列表
names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]

# 取索引1到4的元素,包含1,不包含4
names[1:4]

#取索引0到3的元素
names[:3] 

# 取索引3到最後1個元素
names[3:]

# 每隔1個元素,取1個元素
names[0::2] 
names[::2]

追加元素

# 在列表結尾追加元素
names.append("Mrli")

執行結果:
[Alex, Tenglan, Eric, Rain, Tom, Amy, 
Mrli]

插入元素

names = [Alex, Tenglan, Eric, Rain, Tom, Amy]

#在索引為2的元素前增加新的元素
names.insert(2,"Mrli")

執行結果:
[Alex, Tenglan, ‘Mrli’,Eric, Rain, Tom, Amy]

修改元素

names = [Alex, Tenglan, Eric, Rain, Tom, Amy]

# 替換索引為2的元素
names[2] = Mrli

執行結果:
[Alex, Tenglan, ‘Mrli’, Rain, Tom, Amy]

刪除元素

# 根據索引刪除對應元素
del names[2] 

執行結果:
[Alex, Tenglan, Rain, Tom, Amy]
#刪除指定元素 names.remove("Eric") 執行結果:
[Alex, Tenglan, Rain, Tom, Amy]
# 刪除列表的最後一個元素 names.pop() 執行結果:
[Alex, Tenglan, Eric, Rain, Tom]

擴展

names2 = [小李,‘小張’]
names = [Alex, Tenglan, Eric, Rain, Tom, Amy]
print names.extend(names2)

執行結果:
[Alex, Tenglan, Eric, Rain, Tom, Amy小李,‘小張’]

排序&翻轉

names = [Alex, Tenglan, Eric, Rain, Tom, Amy小李,‘小張’]
names.sort()
>>> names [‘Alex‘, ‘Amy‘, ‘Eric‘, ‘Rain‘, ‘Tenglan‘, ‘Tom‘, ‘小張‘, ‘小李‘] >>> names.reverse() #反轉 >>> names [‘小張‘, ‘小李‘, ‘Amy‘, ‘Tom‘, ‘Rain‘, ‘Eric‘, ‘Tenglan‘, ‘Alex‘]

下標獲取

names = [Alex, Tenglan, Eric, Rain, Tom, Amy小李,‘小張’]
names.index(
"Amy")

>>> 5

元素統計

count() 方法用於統計某個元素在列表中出現的次數

names = [Alex, Tenglan, Eric, Rain, Tom, Amy小李,‘小張’]
names.count("Alex") >>> 1

四、元組

1.特點:有序集合,不可變對象

2.元組操作:

# 元組定義
names = ("alex","jack","eric")

#獲取下標
names.index("jack")
>>> 1

#統計元素出現次數
names.count("jack")
>>> 1

五、字典

1.特點:dict是無序的,key是唯一的

2.字典操作

字典定義

info = {
    stu1101: "TengLan Wu",
    stu1102: "LongZe Luola",
    stu1103: "XiaoZe Maliya",
}

增加字典元素

info["stu1104"] = "xiaozhang"
>>> info
>>> {
    ‘stu1102: LongZe Luola,
    ‘stu1104: ‘xiaozhang,
    ‘stu1103: XiaoZe Maliya,
    ‘stu1101: TengLan Wu   }

刪除字典元素

info = {stu1102: LongZe Luola,stu1104: xiaozhang,stu1103: XiaoZe Maliya,stu1101: TengLan Wu}
# 刪除字典元素
info.pop["stu1101"]
執行結果:
{stu1102: LongZe Luola,stu1104: xiaozhang,stu1103: XiaoZe Maliinfo}

del info[“stu1102”]
執行結果:
{stu1104: xiaozhang,stu1103: XiaoZe Maliinfo}

# 隨機刪除字典元素
info.popitem()
執行結果:
{stu1104: xiaozhang}

修改字典元素

info = {stu1104: xiaozhang,stu1103: XiaoZe Maliinfo}

info[stu1104] = "小張"

查找字典元素

info = {stu1102: LongZe Luola, stu1103: XiaoZe Maliya}

"stu1102" in info
>>> True

info.get("stu1102")
>>> LongZe Luola

info["stu1102"]
>>> LongZe Luola

dict循環

#方法1
for key in info:
    print(key,info[key])

#方法2
for k,v in info.items(): #會先把dict轉成list,數據裏大時莫用
    print(k,v)

六、集合

1.特點:無序的,不重復的數據組合

2.集合操作

集合關系測試

# 創建一個數值集合  
s = set([3,5,9,10])

# 創建一個唯一字符的集合   
t = set("Hello")          

a = t | s         # t和s的並集    
b = t & s         # t和s的交集  
c = t – s         # 求差集(項在t中,但不在s中)  
d = t ^ s         # 對稱差集(項在t或s中,但不會同時出現在二者中)  

成員關系測試

x in s
測試 x 是否是 s 的成員

x not in s
測試 x 是否不是 s 的成員

s.issubset(t)
s <= t
測試是否 s 中的每一個元素都在 t 中

s.issuperset(t)
s >= t
測試是否 t 中的每一個元素都在 s 中

其他操作

s.union(t)  
s | t  
返回一個新的 set 包含 s 和 t 中的每一個元素  
  
s.intersection(t)  
s & t  
返回一個新的 set 包含 s 和 t 中的公共元素  
  
s.difference(t)  
s - t  
返回一個新的 set 包含 s 中有但是 t 中沒有的元素  
  
s.symmetric_difference(t)  
s ^ t  
返回一個新的 set 包含 s 和 t 中不重復的元素  
  
s.copy()  
返回 set “s”的一個淺復制  

t.add(x)
添加一項
s.update([10,37,42]) 在s中添加多項 t.remove(H) 使用remove()可以刪除一項: len(s) set 的長度

七、練習

程序:集合

要求:

  • 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],
  • 將所有大於 66 的值保存至字典的第一個key中,
  • 將小於 66 的值保存至第二個key的值中。

程序:查找

要求:

  • 查找列表中元素,移除每個元素的空格,並查找以 a或A開頭 並且以 c 結尾的所有元素。
   li = ["alec", " aric", "Alex", "Tony", "rain"]    tu = ("alec", " aric", "Alex", "Tony", "rain")    dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"}

程序:購物車

功能要求:

  • 要求用戶輸入總資產,例如:2000
  • 顯示商品列表,讓用戶根據序號選擇商品,加入購物車
  • 購買,如果商品總額大於總資產,提示賬戶余額不足,否則,購買成功。
  • 附加:可充值、某商品移除購物車

程序: 三級菜單

要求:

  1. 打印省、市、縣三級菜單
  2. 可返回上一級
  3. 可隨時退出程序

Python開發【第2篇】【數據類型】