python 小笔记
NoSQL 是什么,优势在哪?
NoSQL 全称为 Not Only SQL,传统 的关系模型使用 的是固定模式 , 并将数据分割到各个表中 。 然而 , 对于大数 据集的情况 , 数据量太大使其难 以 存放在单一服务器 中 , 此 时就需要扩展到 多 台服务器 。 不过 , 关系模型对于这种扩展的支持并不够好 , 因为在查询多 个表时 , 数据可能在不 同 的服务器中 。 相反 , NoSQL 数据库通常是无模式的 , 从设计之初就考虑 了跨服务器无缝分片的问题 。 在 NoSQL 中 , 有多种方式可 以 实现该 目标 , 分别是列数据存储 ( 如 HBase )、 键值对存储 ( 如 Redis ) 、 面 向 文档 的 数据库 ( 如 MongoDB ) 以及 图 形数据库( 如 Neo4j )。
已知以下序列:
list2=[{'mm':2},{'mm':2},{'mm':3},{'mm':1},{'mm':5},{'mm':4},{'mm':3}]
1.按照list2中元素mm的值排序
list1=sorted(list2,key=lambda list2: list2['mm'])
print(list1) #[{'mm': 1}, {'mm': 2}, {'mm': 2}, {'mm': 3}, {'mm': 3}, {'mm': 4}, {'mm': 5}]
2.获取第一个mm的值为4的元素
for index,i in enumerate(list2):
if i['mm'] == 4:
print(index,i)
break #5 {'mm':4}
3.输出list2[::4]
[{'mm': 2}, {'mm': 5}]
4.删除list2中所有mm值等于2的元素,且不对list2重新赋值
n=0
while n<len(list2):
if list2[n]['mm']==2:
del list2[n]
else:
n+=1
print(list2) #[{'mm': 3}, {'mm': 1}, {'mm': 5}, {'mm': 4}, {'mm': 3}]
5.取出list2 中mm值最大的元素,不能排序
ind = 0
def get_max(n):
for i in range(1,len(n)):
global ind
if list2[i]['mm'] > list2[ind]['mm']:
ind = i
return n[ind]
print(get_max(list2)) #{'mm':5}