gpt4 book ai didi

python - 高效地在Python中随机列出数百万个元素

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:34 24 4
gpt4 key购买 nike

我读过这个answer可能是在 Python 中随机化字符串列表的最佳方式。我只是想知道这是否是最有效的方法,因为我通过以下代码获得了大约 3000 万个元素的列表:

import json
from sets import Set
from random import shuffle

a = []

for i in range(0,193):
json_data = open("C:/Twitter/user/user_" + str(i) + ".json")
data = json.load(json_data)
for j in range(0,len(data)):
a.append(data[j]['su'])
new = list(Set(a))
print "Cleaned length is: " + str(len(new))

## Take Cleaned List and Randomize it for Analysis
shuffle(new)

如果有更有效的方法,我将不胜感激任何关于如何做的建议。

谢谢,

最佳答案

几个可能的建议:

import json
from random import shuffle

a = set()
for i in range(193):
with open("C:/Twitter/user/user_{0}.json".format(i)) as json_data:
data = json.load(json_data)
a.update(d['su'] for d in data)

print("Cleaned length is {0}".format(len(a)))

# Take Cleaned List and Randomize it for Analysis
new = list(a)
shuffle(new)

.

  • 了解这是否更快的唯一方法是分析它!
  • 你更喜欢 sets.Set 而不是内置的 set() 是有原因的吗?
  • 我引入了一个 with 子句(打开文件的首选方式,因为它保证它们被关闭)
  • 除了将“a”转换为集合之外,您似乎没有将“a”作为列表进行任何操作;为什么不从一开始就把它做成一套?
  • 不是迭代索引,然后查找索引,我只是迭代数据项...
  • 这使得它很容易重写为生成器表达式

关于python - 高效地在Python中随机列出数百万个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4632040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com