Programing

파이썬 foreach 해당

lottogame 2020. 6. 17. 20:26
반응형

파이썬 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

이렇게하면이 유형의 반복을 적용 할 때 발생하는 돌연변이 문제를 피할 수 있으며, 이로 인해 내 경험에 불규칙한 동작 (때로는)이 발생할 수 있습니다.


업데이트 된 답변을 얻으려면 forEachPython에서 쉽게 함수를 작성할 수 있습니다.

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

반응형