让我们考虑一个名为“my_list”的列表,其内容如下:
['10', '100', '1,000', '10,000', 100,000']
我想验证一下我的_列表是一个字符串化整数的列表,它是10的倍数,并且是按升序排序的,所以我要做的是
int_list = [int(each_int.replace(',', '')) for each_int in my_list]
boolean = all([int_list[idx] == int_list[idx-1]*10 for idx in xrange(1, len(int_list))])
我的问题是每次迭代都会调用len()
?在这种情况下,什么是更好的做法?在
如果2。,它是否适用于这样的情况:我正在遍历列表字典(或者可能只是一个字典)的值/键
例如:d_list = [set(value) for value in my_dict.values()]
你可以这样做:
这将避免任何不必要的重复计算,而且速度更快,因为它是按部门进行比较的。我还将
all([...])
替换为all(...)
,因为all
可以处理生成器,并且可以省去创建临时列表的开销。在相关问题 更多 >
编程相关推荐