2024-04-28 14:47:04 发布
网友
我有大量的元素要迭代。出于调试的目的,我只想遍历第一个,比如说~10。为了实现这一点,我创建了一个由我的set初始化的list,通过[:10]选择了前10个元素,并在结果list上迭代。有没有更像Python一样的方法?
set
list
[:10]
mySet = set(df.SomeUniqueId) myList = list(mySet)[:10] for i, val in enumerate(myList): ...
有很多方法可以做到这一点。使用list(set(a))将创建一个list,这可能需要很长时间,具体取决于您的set。但是,由于您只需要迭代少量的循环,我将使用一个迭代器和一个计数器:
count = 0 for elem in iter(mySet): count = count + 1 if count == 10: break print elem
这将避免创建长列表的开销,并且使用一些手动代码控制循环的开销可能可以忽略不计。
我会用^{}。生成整个列表,仅仅是为了访问前几项,对我来说似乎是浪费。
for i, val in enumerate(itertools.islice(mySet, 10)):
编辑:
如果你想随机地选择你的十个元素,试着^{}。
for i, val in enumerate(random.sample(mySet, 10)):
有很多方法可以做到这一点。使用list(set(a))将创建一个list,这可能需要很长时间,具体取决于您的set。但是,由于您只需要迭代少量的循环,我将使用一个迭代器和一个计数器:
这将避免创建长列表的开销,并且使用一些手动代码控制循环的开销可能可以忽略不计。
我会用^{} 。生成整个列表,仅仅是为了访问前几项,对我来说似乎是浪费。
编辑:
如果你想随机地选择你的十个元素,试着^{} 。
相关问题 更多 >
编程相关推荐