相對於iOS來說,python的數據存儲和數據結構更爲直觀,包括數據的使用
詳細的類型和使用方法如下:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
#Python數據結構
#①列表操作
a = [66.25,333,333,1,1234.5]
print(a.count(333), a.count(66.25), a.count('x')) #.count用來統計元素在列表中出現的次數
a.insert(2,-1) #在 指定位置 插入 指定元素
a.append(333) #把一個元素添加到列表結尾
print(a)
print(a.index(333)) #獲取列表中這個值第一次出現的元素索引,沒有就返回錯誤
a.remove(333) #獲取列表中這個值第一次出現的時候,並刪除這個值
print(a)
a.reverse() #倒排列表中的元素
print(a)
a.sort() #正牌列表中的元素
print(a)
#②推導表達式
vec = [2, 4, 6]
print([3*x for x in vec]) #將列表中每個數值乘三,獲得一個新的列表
print([[x, x**2] for x in vec]) #列表中包含小列表
#加入if判斷
print([3*x for x in vec if x > 3])
print([3*x for x in vec if x < 2])
#③嵌套列表解析
#④del 語句
#del 可以用來刪除一個元素 或者刪除整個實體變量
a = [-1, 1, 66.25, 333, 333, 1234.5]
del a[0] #刪除0位置的元素
print(a)
del a[2:4] #刪除2-4位置之間的元素
print(a)
del a[:] #刪除所有元素
print(a)
del a #刪除實體變量 a
#⑤元組和序列
#元組在輸出時候總是有括號的,便與表達嵌套結構
#⑥集合
#集合是一個無序不重複的元素集,基本功能包括 關係測試 和 消除重複元素
#例:
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket) # 刪除重複的
print('orange' in basket ) #ture # 檢測成員
print('crabgrass' in basket) #false
#⑦字典
tel = {'jack': 4098, 'sape': 4139}
tel['guido'] = 4127 #增加一個鍵名爲guido的鍵值對並賦值
print(tel)
print(tel['jack']) #查看鍵名爲 jack的對應的值
del tel['sape'] #刪除鍵名爲sape的鍵值對
tel['irv'] = 4127 #增加鍵名爲 irv的鍵值對並賦值
print(tel)
print(list(tel.keys())) #查詢所有鍵名
print(sorted(tel.keys())) #對鍵進行排序
print('guido' in tel) #True #判斷guido是否是字典中的鍵
print('jack' not in tel) #False #同上
#⑧遍歷技巧
#鍵值對的關鍵字和對應的值可以用items()方法同時讀取出來
knights = {'gallahad': 'the pure', 'robin': 'the brave'}
for k, v in knights.items():
print(k, v)
#在序列中遍歷時,索引位置和對應值可以使用 enumerate() 函數同時得到:
for i, v in enumerate(['tic', 'tac', 'toe']):
print(i, v)
#同時遍歷兩個或更多的序列,可以使用 zip() 組合:
questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue']
for q, a in zip(questions, answers):
print('What is your {0}? It is {1}.'.format(q, a))
#要反向遍歷一個序列,首先指定這個序列,然後調用 reversesd() 函數:
for i in reversed(range(1, 10, 2)):
print(i)
#要按順序遍歷一個序列,使用 sorted() 函數返回一個已排序的序列,並不修改原值:
basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
for f in sorted(set(basket)):
print(f)