python里该使用什么样的数据结构实现实时性读写?

hawkingyy 发布于 2016/11/08 07:53
阅读 456
收藏 0
如果我有很多数据不停的被程序接收,每条数据都有一个id,一个接收到该数据的时间t以及其他数据字段。新的数据进来以后,如果id相同,且t值比原来的t更新,我就需要去更新该数据的内容。请问这样的程序该采用哪一种数据结构存放数据呢?要求实时性强的,便于查找id,便于实时读写的
加载中
0
螃蟹大叔
螃蟹大叔
数组或者队列,每个元素为一个dict格式的就可以了,dict类似json格式的数据
0
s
sw55555

还是dict比较快吧,用id做dict的key就好了

0
h
hawkingyy

引用来自“刘万杰”的评论

数组或者队列,每个元素为一个dict格式的就可以了,dict类似json格式的数据

类似于这样的吗:

  1. list = []
  2. dict1 = {"a":1, "b":2, "c":3}
  3. dict2 = {"d":4, "e":5, "f":6}
  4. list.append(dict1)
  5. list.append(dict2)
这样如何判断某个键值在不在list里?比如“4”在不在list里?

c
ce s
回复 @沧海_Sea :
沧海_Sea
沧海_Sea
把 dict1 和dict2都放到另一个dict中
0
h
hawkingyy

引用来自“sw55555”的评论

还是dict比较快吧,用id做dict的key就好了

但怎么判断一个value在不在这个列表里?
0
ohailong
ohailong
数据量少的话用list,dict ,数据量大的话可以试试写到一个文件里,读写和判断逻辑分开
0
h
hawkingyy

引用来自“ohailong”的评论

数据量少的话用list,dict ,数据量大的话可以试试写到一个文件里,读写和判断逻辑分开
数据表的大小不会超过100条,但是接收端在不停的收数据(1秒大概可以接收几十条),再逐一判断每条新收到的数据是否需要新添加进列表,或者是否需要更新列表中的某条记录。这样的话用list加dict的方式好,还是用数据库的方式好?主要还要考虑尽量实时读取列表的内容。
0
一碗粥
一碗粥

dict = {id: {key: value, ...}, ...}

dict.has_key(id)

返回顶部
顶部