Python 기초: 일반적인 데이터 구조에 대한 반복
18090 단어 pythonprogrammingbeginnerstutorial
Python 기초: 일반적인 데이터 구조에 대한 반복
루핑은 프로그래밍의 필수 요소입니다.
길이가 다를 수 있는 데이터 구조가 주어지면 각 요소에 대해 작업을 반복하려는 것이 일반적입니다.
코드에서 일반적인 작업을 반복하는 대신 루핑을 사용하여 데이터 구조의 모든 요소를 반복할 수 있습니다.
Python에서 일반적인 데이터 구조를 반복하는 방법에 대한 몇 가지 예를 제공합니다(
string
, list
, tuple
& dictionary
).이것은
for
루프를 커버하고 while
루프를 커버하지 않습니다.루프 내부의 변수 이름은 사용자가 정의할 수 있지만 이해하기 쉽고 코드를 읽을 수 있는 변수 이름을 사용해야 합니다.
문자열 반복
문자에 대한 간단한 루핑
sentence = "How to loop over a string?"
for character in sentence:
# here you can do any operation which will be repeated
# for each character in the sentence.
print(character)
문자 및 위치 반복
인덱스 또는 위치를 사용하여 Python에서 a
string
의 문자에 액세스할 수 있습니다.예를 들어
s = "Baz"
이면 s[0] == 'B'
, s[1] == 'a'
및 s[2] == 'z'
입니다.Python의 첫 번째 요소에 대해 index가
0
부터 시작한다는 것을 알 수 있습니다.이것은
string
, list
및 tuple
에 대해 동일합니다.sentence = "How to loop over a string with the position?"
for position, character in enumerate(sentence):
# here you can do any operation which will be repeated
# for each position and character in the sentence
# using the "enumerate" function.
print(position, character)
목록 반복
요소에 대한 간단한 루핑
grades = [11, 18, 16, 19, 14]
for grade in grades:
# here you can do any operation which will be repeated
# for each grade in the grades list.
print(grade)
요소 및 위치 반복
인덱스 또는 위치를 사용하여 Python에서 a
list
의 요소에 액세스할 수 있습니다.예를 들어
l = [2, 0, 1]
이면 l[0] == 2
, l[1] == 0
및 l[2] == 1
입니다.grades = [11, 18, 16, 19, 14]
for position, grade in enumerate(grades):
# here you can do any operation which will be repeated
# for each position and grade in the grades list
# using the "enumerate" function.
print(position, grade)
튜플에 대한 반복
A
tuple
는 요소의 immutable 컨테이너입니다. 즉, 요소가 정의된 후에는 요소를 변경/추가/제거할 수 없습니다.tuple
를 반복하는 것은 list
를 반복하는 것과 같습니다.요소에 대한 간단한 루핑
names = ("Jane", "John", "Janet")
for name in names:
# here you can do any operation which will be repeated
# for each name in the names tuple.
print(name)
요소 및 위치 반복
인덱스 또는 위치를 사용하여 Python에서 a
tuple
의 요소에 액세스할 수 있습니다.예를 들어
t = (1, 2)
이면 t[0] == 1
및 t[1] == 2
입니다.names = ("Jane", "John", "Janet")
for position, name in enumerate(names):
# here you can do any operation which will be repeated
# for each position and name in the names list
# using the "enumerate" function.
print(position, name)
사전 반복
A
dictionary
는 "키/값"쌍의 컨테이너, 즉 요소의 매핑입니다.키를 사용하여 Python에서 a
dictionary
의 요소에 액세스할 수 있습니다.예를 들어
d = {"foo": 1, "bar": 2}
이면 d["foo"] == 1
및 d["bar"] == 2
입니다.키에 대한 간단한 루핑
dictionary
에 대한 간단한 루프는 dictionary
의 키를 반복합니다.ages = {"Jane": 25, "John": 26, "Janet": 24}
for name in ages:
# here you can do any operation which will be repeated
# for each name (key) in the ages dictionary.
# you can access the value with the key:
age = ages[name]
print(name, age)
키/값 쌍에 대한 반복
사전의
items
메서드는 모든 키/값 쌍을 반환합니다.이렇게 하면 키/값 쌍을 직접 반복할 수 있습니다.
ages = {"Jane": 25, "John": 26, "Janet": 24}
for name, age in ages.items():
# here you can do any operation which will be repeated
# for each name (key) and age (value) in the ages dictionary.
print(name, age)
값 반복
사전의
values
메서드는 list
의 모든 값을 반환합니다.이렇게 하면 키/값 쌍을 직접 반복할 수 있습니다.
ages = {"Jane": 25, "John": 26, "Janet": 24}
for age in ages.values():
# here you can do any operation which will be repeated
# for each age (value) in the ages dictionary.
print(age)
실제로 루핑
사용 사례 1: 목록의 합계
알 수 없거나 다양한 크기의 등급
list
이 주어지면 루핑을 사용하여 합계를 계산할 수 있습니다.grades = [11, 18, 16, 19, 14]
# initialize sum of grades to 0
sum_of_grades = 0
for grade in grades:
# add current grade to the total sum
sum_of_grades = sum_of_grades + grade
# check result is correct:
assert 78 == sum_of_grades
사용 사례 2: 목록의 평균
이것은 위와 동일하며 합계를
list
의 길이로 나누고 2
소수점으로 반올림하면 됩니다.grades = [11, 18, 16, 19, 14]
# initialize sum of grades to 0
sum_of_grades = 0
for grade in grades:
# add current grade to the total sum
sum_of_grades = sum_of_grades + grade
avg_of_grades = round(sum_of_grades / len(grades), 2)
# check result is correct:
assert 15.6 == avg_of_grades
사용 사례 3: 성적 사전
이름이 키인
dictionary
와 알 수 없는/다양한 크기의 값인 성적list
이 주어지면 루프를 사용하여 각 학생의 평균을 계산할 수 있습니다.grades_dict = {"Jane": [14, 16], "John": [11, 12], "Janet": [18, 16]}
# initialize result to an empty dictionary:
avg_of_grades_dict = {}
for name, grades in grades_dict.items():
# do the same as above inside the loop for each student:
sum_of_grades = 0
for grade in grades:
# add current grade to the total sum
sum_of_grades = sum_of_grades + grade
# compute the average for the student:
avg_of_grades = round(sum_of_grades / len(grades), 2)
# save the avg in a result dictionary for the student:
avg_of_grades_dict[name] = avg_of_grades
# check result is correct:
assert {"Jane": 15.0, "John": 11.5, "Janet": 17.0} == avg_of_grades_dict
사용 사례 4: 문자열의 일반 문자(제자리)
(
string
유형의) 두 단어가 주어지면 루핑을 사용하여 동일한 위치에서 공통 문자를 찾을 수 있습니다.name = "Jean"
surname = "John"
# initialize result to an empty list:
common_letters_in_place = []
# loop over position and letters in a string with enumerate:
for position, letter in enumerate(name):
# check if letters in both string are the same at the same position:
if letter == surname[position]:
common_letters_in_place.append(letter)
# check result is correct:
assert ['J', 'n'] == common_letters_in_place
암호
이 블로그 게시물의 모든 코드는 여기replit에서 찾을 수 있습니다.
Reference
이 문제에 관하여(Python 기초: 일반적인 데이터 구조에 대한 반복), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ericlloyd/python-basics-looping-over-common-data-structures-1m48텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)