2016-06-27 3 views
0

나는 10000 개의 이미지를 담은리스트를 가지고있다. 처음 10 장의 이미지를 보여주고 싶습니다. 어떻게 파이썬에서 for 루프를 작성합니까?인덱스까지의 파이썬 for 루프

from PIL import Image 
import glob 
image_list = [] 
for filename in glob.glob('<my_directory>*.pgm'): 
    im=Image.open(filename) 
    image_list.append(im) 


import matplotlib.pyplot as plt 

for i in range(10): 
    plt.figure() 
    plt.imshow(image_list[i]) 

그게 내 코드. image_list (3), image_list (1 : 3)을 시도했지만 모두 작동하지 않습니다. 도움말 감사

+1

슬라이스를 최대 10까지'image_list의 [10]' –

+0

그것은 여전히 ​​나던 작품. 이것은 내 코드이다. – kong

답변

0

슬라이스 목록

for ima in image_list[:10]: 
    plt.figure() 
    plt.imshow(ima) 
0

당신은뿐만 아니라 인덱스 플롯에 액세스 할 수 있습니다.

for idx in range(10): 
    plt.figure() 
    plt.imshow(image_list[idx]) 

이렇게하면 새 목록을 만들지 않아도됩니다. 그러나이 정도면 큰 차이는 없습니다.

0

이름으로 정렬 된 처음 10 개의 이미지를 표시하려고합니다. 그래서 다음과 같이 시도 할 경우 :

for ima in sorted(image_list)[:10]: 
    plt.figure() 
    plt.imshow(ima) 

샘플 결과 :

>>> image_list = ['img1.jpg', 'img2.jpg', 'img0.jpg'] 
>>> image_list 
['img1.jpg', 'img2.jpg', 'img0.jpg'] 
>>> sorted(image_list) 
['img0.jpg', 'img1.jpg', 'img2.jpg'] 
>>> for img in sorted(image_list)[:1]: 
... print img 
... 
img0.jpg