2015-10-15 58 views
1

Wheever我看到一个循环,如下所示:的Python循环范围(LEN())冗余

for i in range(len(string_1)): 

是不是一样

for i in string_1: 

他们在整个每个周期字符串,是不是第一种方式只是漫长的这样做?

+0

它们是等价的,是的。 –

回答

1

它们不完全相同。

array = [2,4,6,8,10] 

for i in array: 
    print i 

将打印 “2 4 6 8 10”(在单独的线)

for i in range(len(array)): 
    print i 

将打印 “0 1 2 3 4”(在separte线)

它们循环通过不同的数组,首先循环你的给定数组。但是第二个循环通过由“范围”方法产生的不同数组。

了解更多关于Python的范围的方法,在这里 - http://pythoncentral.io/pythons-range-function-explained/

+0

即使有范围冗余,因为只有len会让你和范围一样(len))?它不仅仅是一个数字列表? – thatguylowjwj

+0

范围是多余的是您想要遍历数组的这种用例。但是,有很多用例需要范围数组。 – iankit