您的位置:首页 > 理论基础 > 数据结构算法

Python开发-Python数据结构-Python数据存储方法

2017-03-02 11:02 344 查看
相对于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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息