파이썬 foreach 해당
파이썬으로 뛰어 들어 foreach 반복에 대한 질문이 있습니다. 저는 Python을 처음 사용하고 C #에 경험이 있습니다. 그래서 내 컬렉션의 모든 항목에서 반복을 위해 Python에 동등한 기능이 있는지 궁금합니다.
pets = ['cat', 'dog', 'fish']
marks = [ 5, 4, 3, 2, 1]
또는 이와 같은 것.
확실한. for 루프.
for f in pets:
print f
이처럼 :
for pet in pets :
print(pet)
실제로 파이썬 에는 foreach 스타일 루프 만 있습니다 for
.
이것을 관찰하는 것도 흥미 롭습니다
시퀀스의 인덱스를 반복하려면 결합 할 수 range()
와 len()
같은 다음과 같습니다 :
a = ['Mary', 'had', 'a', 'little', 'lamb']
for i in range(len(a)):
print(i, a[i])
산출
0 Mary
1 had
2 a
3 little
4 lamb
편집 # 1 : 다른 방법 :
시퀀스를 반복 할 때 enumerate()
함수를 사용하여 위치 인덱스와 해당 값을 동시에 검색 할 수 있습니다 .
for i, v in enumerate(['tic', 'tac', 'toe']):
print(i, v)
산출
0 tic
1 tac
2 toe
위의 답변이 유효하지만 dict {key : value}를 반복하는 경우 이것이 내가 사용하는 접근법입니다.
for key, value in Dictionary.items():
print(key, value)
따라서 사전의 모든 키와 값을 문자열 화하는 것과 같은 작업을 수행하려면 다음과 같이하십시오.
stringified_dictionary = {}
for key, value in Dictionary.items():
stringified_dictionary.update({str(key): str(value)})
return stringified_dictionary
이렇게하면이 유형의 반복을 적용 할 때 발생하는 돌연변이 문제를 피할 수 있으며, 이로 인해 내 경험에 불규칙한 동작 (때로는)이 발생할 수 있습니다.
업데이트 된 답변을 얻으려면 forEach
Python에서 쉽게 함수를 작성할 수 있습니다.
def forEach(list, function)
for i,v in enumerate(list))
function(v, i, list)
또한이 적응할 수있는 map
, reduce
, filter
, 다른 언어 또는 우선 순위에서 다른 어떤 배열 함수를 사용하면 데려 싶어. For 루프는 빠르지 만 보일러 플레이트는 더 길거나 forEach
다른 기능입니다. 또한 목록을 확장하여 클래스에 대한 로컬 포인터로 이러한 함수를 갖도록하여 목록에서 직접 호출 할 수도 있습니다.
사전인가를 위해 우리는을 반복하는 루프를 사용할 수 있습니다 index
, key
그리고 value
:
dictionary = {'a': 0, 'z': 25}
for index, (key, value) in enumerate(dictionary.items()):
## Code here ##
참고 URL : https://stackoverflow.com/questions/40346498/python-foreach-equivalent
'Programing' 카테고리의 다른 글
Swift에서 열거 형 값의 이름을 얻는 방법은 무엇입니까? (0) | 2020.06.17 |
---|---|
Java에서 hashCode의 사용은 무엇입니까? (0) | 2020.06.17 |
HTML 4와 HTML 5의 주요 차이점은 무엇입니까? (0) | 2020.06.17 |
C # 컴파일러는 어떤 언어로 작성됩니까? (0) | 2020.06.17 |
http : // localhost가 원점 일 때 치명적인 CORS (0) | 2020.06.17 |