Python開發-Python數據結構-Python數據存儲方法

相對於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)


發佈了79 篇原創文章 · 獲贊 79 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章