2012-01-18 2 views
-7

에 난을 Pythonize하는 가장 좋은 방법을 찾고 있어요 : 대한 (INT I = 0; 나는 < itemsCount; 내가 ++)자바 파이썬 변환

어떤 생각이? 사전에

감사

+0

pythonize 란 무엇입니까? – Jivings

+4

일반적으로 기본적인 파이썬 프로그래밍을 읽어야합니다. – Vache

+0

무엇을 시도 했습니까? 어디서 붙어 있니? [docs] (http://docs.python.org/tutorial/controlflow.html#for-statements)를 보셨습니까? :) – sarnold

답변

3

일부 컨테이너의 항목을 반복하는 경우 해당 컨테이너를 반복합니다. 필요하지 않으면 색인을 사용하지 마십시오.

오른쪽 :

slots = [1, 2, 3, 7] 
for slot in slots: 
    print cards[slot] 

잘못된 (또는 적어도 "쓰기 C/C++/자바/C#을/어떤 파이썬에서") :

slots = [1, 2, 3, 7] 
for i in range(len(slots)): 
    print cards[slots[i]] 

당신은 다른 목적으로 인덱스가 필요한 경우 (예 : 컨테이너를 수정할 것임) 파이썬 방법은 enumerate()입니다.

for i, slot in enumerate(slots): 
    print cards[slot] 
    slots[i] += 1 
1

파이썬 해당 루프 : 당신이 알고하지 않은 경우

for i in range(0,itemsCount): 
0

, 당신은 사용할 수는 자바에서 향상된 for 루프

for(String str : array){ 
    System.out.println(str); 
} 
+0

질문은 명확하지 않습니다. 나에게 자바 내부에서 파이썬 구문을 사용하고자하는 것 같다. 그래서 향상된 for 루프를 제안했습니다. – theDazzler

1

Here는 IS 관련 문서 섹션 ("python loop"에 대한 Google 검색의 첫 번째 결과였습니다.). 파이썬 2.X에서

파이썬에서

for i in xrange(itemsCount): 
    # rtfm 

3

for i in range(itemsCount): 
    # rtfm 

참고 : 바닐라 range뿐만 아니라 파이썬 2.X에서 작동하지만 그것 때문에 비효율적이다 반복문 구조를 만드는 일반적인 경우에 불필요한 반복 가능한 목록을 메모리에 구축합니다.

주 2 : 당신이 i를 사용하는 유일한 것은 약간의 용기에 인덱스 인 경우, 단순히 컨테이너를 반복 더 파이썬, 예를 들면이다for item in my_list:. 어떤 이유로 든 인덱스가 필요할 경우 일반적인 방법은 for i,v in enumerate(my_list):으로 반복하는 것입니다.