我有一个很大的xl.Application.Visible = False
元素要迭代。出于调试目的,我只想迭代第一个,比如说~10。为实现此目的,我已经从set
初始化了list
,通过set
选择了前10个元素,并对生成的[:10]
进行了迭代。有更多的pythonic方式吗?
list
答案 0 :(得分:10)
我使用itertools.islice()
。生成整个列表,只是为了访问前几个项目,对我来说似乎很浪费。
for i, val in enumerate(itertools.islice(mySet, 10)):
编辑:
如果您想随机选择(与任意选择)您的十个元素,请尝试random.sample()
。
for i, val in enumerate(random.sample(mySet, 10)):
答案 1 :(得分:1)
有很多方法可以做到这一点。使用list(set(a))将创建一个列表,这可能需要很长时间,具体取决于您的设置。但是,因为您只需要迭代少量循环,我会使用迭代器和计数器:
count = 0
for elem in iter(mySet):
count = count + 1
if count == 10:
break
print elem
这可以避免创建长列表的开销,并且使用一些手动代码来控制循环的开销可能是微不足道的。