2014-01-06 47 views
1

我將如何在python中爲循環迭代1到特定值?在python中迭代到第n個值

我可以在Python列表上迭代,如:

for x in l: 
    print x 

不過。
如果我想從1迭代到個數字,在MATLAB我會做:

str = "abcd" 
for i=1:z 
    for j=1:y 
     if s(:,i)==s(j,:)' 
      Seq(i)=str(j); 
     end 
    end 
end 

我怎麼會在Python迭代這樣?

回答

1

使用切片表示法(這將創建一個包含前n項臨時列表):

>>> s = "abcd" 
>>> for x in s[:2]: 
...  print(x) 
... 
a 
b 

或使用itertools.islice:在列表中

>>> import itertools 
>>> for x in itertools.islice(s, 2): 
...  print(x) 
... 
a 
b 
1

來訪問值,用方括號沿切片與索引。

for x in l[start:end]: 
     print x 

你有一個爐排後here約切片標誌

另一個篦link有關名單

例1:

myList = [1, 2, 3, 4] 

for x in myList[:-1]: 
    print x 

輸出:

1 
2 
3 

例2:

myList = [1, 2, 3, 4] 

for x in myList[1:3]: 
    print x 

輸出:

2 
3 
3
for i in range(0, 11): 
    print i 

HTH

1

你需要得到使用,以在python的的slicing想法,見Explain Python's slice notation

非切片:

a = [1,2,3,4,5,6,7,8] 
n = 5 

for i in range(n): 
    print a[i] 

隨着片:

a = [1,2,3,4,5,6,7,8] 
n = 5 

print a[:n]