选择s的前n个元素

2024-04-28 14:47:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有大量的元素要迭代。出于调试的目的,我只想遍历第一个,比如说~10。为了实现这一点,我创建了一个由我的set初始化的list,通过[:10]选择了前10个元素,并在结果list上迭代。有没有更像Python一样的方法?

mySet = set(df.SomeUniqueId)
myList = list(mySet)[:10]
for i, val in enumerate(myList):
    ...

Tags: 方法in目的元素dfforvallist
2条回答

有很多方法可以做到这一点。使用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)):

相关问题 更多 >