본문 바로가기
코딩💻

[Python] 다양한 파이썬 함수 코드 :: 반복문(for문), append, insert, extend, remove, pop, del, index, count, enumerate

by 하암꿈 2022. 10. 11.
728x90

For문, append, insert, extend, remove, pop, del, index, count, enumerate

 

 

for문

for 바로 뒤가 변수로 생각하면 될 것 같다. 반복문의 변수

data = [90, 45, 32, 44]
for i in range(len(data)): # range4는 0,1,2,3이다.
  print(data[i])
  
###실행결과
90
45
32
44

 

딕셔너리 형태를 for문에서 앞의 기본적일때는 밸류값만 나타낸다.

마치 index만 나타내는 느낌같다.

mock_data = {
  "id": 1,
  "first_name": "Haam",
  "last_name": "구멍가게",
  "email": "Haam@store.com",
  "gender": "Female",
  "ip_address": "123.123.123.23"
}

for x in mock_data:
  print(x)
  
  
###실행결과
id
first_name
last_name
email
gender
ip_address

 

keys라고 정확히 명시 해주어도 된다.

mock_data = {
  "id": 1,
  "first_name": "Haam",
  "last_name": "구멍가게",
  "email": "Haam@store.com",
  "gender": "Female",
  "ip_address": "123.123.123.23"
}

for x in mock_data.keys(): #이 부분 
  print(x)
  
###실행결과
id
first_name
last_name
email
gender
ip_address

 

마찬가지로 values 를 명시 해줘도 된다.

mock_data = {
  "id": 1,
  "first_name": "Haam",
  "last_name": "구멍가게",
  "email": "Haam@store.com",
  "gender": "Female",
  "ip_address": "123.123.123.23"
}

for x in mock_data.values(): # 이 부분!
  print(x)
  
###실행결과
1
Haam
구멍가게
Haam@store.com
Female
123.123.123.23

 

key와 value 둘다 표현할때 items를 쓰면 되겠다.

변수를 x라고 해주는 것과 k,v로 해주는것에 차이를 비교하자

mock_data = {
  "id": 1,
  "first_name": "Haam",
  "last_name": "구멍가게",
  "email": "Haam@store.com",
  "gender": "Female",
  "ip_address": "123.123.123.23"
}

for x in mock_data.items():
  print(x)

for k,v in mock_data.items():
  print(k,v)
  
###실행결과
('id', 1)
('first_name', 'Haam')
('last_name', '구멍가게')
('email', 'Haam@store.com')
('gender', 'Female')
('ip_address', '123.123.123.23')
id 1
first_name Haam
last_name 구멍가게
email Haam@store.com
gender Female
ip_address 123.123.123.23

 

len(a)는 a라는 리스트의 길이를 의미한다.

a = [1,2,3,4,5]
b = [10,20,30,40,50]

for i in range(len(a)):
  print(a[i],b[i])
  
###실행결과
1 10
2 20
3 30
4 40
5 50

 

for문에 zip함수를 활용할수있다.

zip함수는 리스트 내에 요소들을 묶어서 튜플형태로 출력해준다.

a = [1,2,3,4,5]
b = [10,20,30,40,50]
c = [100,200,300,400,500]

for x,y,z in zip(a,b,c): # zip 함수를 반복문에 활용할수있다!
  print(x,y,z)
  
###실행결과
1 10 100
2 20 200
3 30 300
4 40 400
5 50 500

 

 

break를 활용해서 반목분을 멈추고자 하는 곳에서 멈출수 있다.

0에서부터 시작해서 4가 되면 멈추도록 한다.

Int_ = [0,1,2,3,4,5,6,7]
for x in Int_:
  if(x==4):
    break #이 부분
  else:
    print(x)
    
###실행결과
0
1
2
3

 

마찬가지로 continue를 사용해보자.

from ast import In
Int_ = [0,1,2,3,4,5,6,7]

for x in Int_:
  if(x==3): # 3이 와도 계속 진행
    continue
  else:
    print(x)
    
###실행결과
0
1
2
4
5
6
7

 

728x90

 

append

append는 맨뒤에 요소를 추가하는 함수이다.

my_list=[]
for i in range(1000,2200):
  if (i%7==0) and (i%5!=0):
    my_list.append(str(i)) # 이 부분

print(','.join(my_list))

###실행결과
1001,1008,1022,1029,1036,1043,1057,1064,1071,1078,1092,1099,1106,1113,1127,1134,1141,1148,1162,1169,1176,1183,1197,1204,1211,1218,1232,1239,1246,1253,1267,1274,1281,1288,1302,1309,1316,1323,1337,1344,1351,1358,1372,1379,1386,1393,1407,1414,1421,1428,1442,1449,1456,1463,1477,1484,1491,1498,1512,1519,1526,1533,1547,1554,1561,1568,1582,1589,1596,1603,1617,1624,1631,1638,1652,1659,1666,1673,1687,1694,1701,1708,1722,1729,1736,1743,1757,1764,1771,1778,1792,1799,1806,1813,1827,1834,1841,1848,1862,1869,1876,1883,1897,1904,1911,1918,1932,1939,1946,1953,1967,1974,1981,1988,2002,2009,2016,2023,2037,2044,2051,2058,2072,2079,2086,2093,2107,2114,2121,2128,2142,2149,2156,2163,2177,2184,2191,2198

 

append 함수를 사용해서 대문자로 바꿔주어 추가해줄수 있도록 했다.

words = []
while True:
    char = input()
    if char:
        words.append(char.upper()) # 대문자로 바꿔주는 코드.
    else:
        # 입력할 데이터가 끝났으면 아무것도 입력하지 않고 엔터를 입력하면 break가 되도록 한다.
        break;

for word in words:
    print(word)
    
    
###실행결과
a
b
c

A
B
C

 

 

 

insert

특정 인덱스에 요소를 추가하는 함수. len을 활용하여 맨뒤에 추가 되도록 했다.

my_list=[]
for i in range(1000,2200):
  if (i%7==0) and (i%5!=0):
    my_list.insert(len(my_list),str(i)) # 이 부분

print(','.join(my_list))


###실행결과
1001,1008,1022,1029,1036,1043,1057,1064,1071,1078,1092,1099,1106,1113,1127,1134,1141,1148,1162,1169,1176,1183,1197,1204,1211,1218,1232,1239,1246,1253,1267,1274,1281,1288,1302,1309,1316,1323,1337,1344,1351,1358,1372,1379,1386,1393,1407,1414,1421,1428,1442,1449,1456,1463,1477,1484,1491,1498,1512,1519,1526,1533,1547,1554,1561,1568,1582,1589,1596,1603,1617,1624,1631,1638,1652,1659,1666,1673,1687,1694,1701,1708,1722,1729,1736,1743,1757,1764,1771,1778,1792,1799,1806,1813,1827,1834,1841,1848,1862,1869,1876,1883,1897,1904,1911,1918,1932,1939,1946,1953,1967,1974,1981,1988,2002,2009,2016,2023,2037,2044,2051,2058,2072,2079,2086,2093,2107,2114,2121,2128,2142,2149,2156,2163,2177,2184,2191,2198

 

 

extend

format함수로 리스트 1,2를 확인해본다.

list_1 = ['bread', 'meat']
list_2 = ['Lettuce',2 ,5]
list_1.extend(list_2) # extend로 두 리스트를 합해준다.
print('list1: {}, list2: {}'.format(list_1, list_2))
                                                     
###실행결과
list1: ['bread', 'meat', 'Lettuce', 2, 5], list2: ['Lettuce', 2, 5]

 

 

append, extend 차이

리스트를 추가할때와 문자열을 추가할때 차이를 비교해봤다.

결과를 대조해서 보면 리스트를 추가할때 append는 리스트안에 또다른 리스트를 추가하게되고

extend는 하나의 리스트로 표현해준다.

 

문자열을 추가할때 append는 리스트안에 요소를 추가하도록 표현이되고

extend는 글자 하나하나 요소로써 표현이 된다.

# '리스트'를 추가할 때  
flavors1 = ['Vanilla', 'Chocolate']
flavors1.append(['Strawberry', 'MintChocolate'])
print(flavors1) # append는 리스트안에 또 다른 리스트를 추가한다.

flavors2 = ['Vanilla', 'Chocolate']
flavors2.extend(['Strawberry', 'MintChocolate']) # extend는 하나의 리스트로 합쳐진다.
print(flavors2)


# '문자열'을 추가할 때
flavors3 = ['Vanilla', 'Chocolate','Strawberry']
flavors3.append('MintChocolate') # append 문자열 추가는 그대로 추가된다.
print(flavors3)

flavors4 = ['Vanilla', 'Chocolate','Strawberry']
flavors4.extend('MintChocolate') # extend는 글자 하나하나가 리스트로 추가 된다.
print(flavors4)


###실행결과
['Vanilla', 'Chocolate', ['Strawberry', 'MintChocolate']]
['Vanilla', 'Chocolate', 'Strawberry', 'MintChocolate']
['Vanilla', 'Chocolate', 'Strawberry', 'MintChocolate']
['Vanilla', 'Chocolate', 'Strawberry', 'M', 'i', 'n', 't', 'C', 'h', 'o', 'c', 'o', 'l', 'a', 't', 'e']

 

 

remove

remove함수는 요소를 삭제해준다.

list1 = [11, 12, 43, 4, 6]
for i in list1.copy():
    if not i % 2: # 2로 나누어지지 않으면,
        list1.remove(i) # remove함수로 요소 삭제
print(list1)


###실행결과
[11, 43]

 

 

 

pop

pop함수는 맨 마지막요소를 돌려주고 삭제한다.

my_list = [1, 2, 3, 4, 5] 
my_list[0] = 99  # 리스트 내에 요소를 바꾸는 방법
print(my_list)

my_list.pop() # pop 함수
print(my_list)


###실행결과
[99, 2, 3, 4, 5]
[99, 2, 3, 4]

 

 

 

del

del 함수는 리스트내에 요소를 삭제하는 함수이다.

my_list = [1, 2, 3, 4, 5] 

del my_list[0] # del 함수로 리스트 내의 요소 삭제하기
print(my_list)


###실행결과
[2, 3, 4, 5]

 

 

 

index

index는 리스트내에 원하는 요소가 몇번째에 있는지 알려준다.

my_list = ['xyz', 'XYZ', 'abc', 'ABC']
print("Index for xyz : ",  my_list.index( 'xyz' ))
print("Index for ABC : ",  my_list.index( 'ABC' ))


###실행결과
Index for xyz :  0
Index for ABC :  3

 

 

 

count

count 함수는 리스트내에 해당 요소가 몇개 존재하는지 세준다.

my_list = ['xyz', 'XYZ' 'abc', 'ABC']
print("Count for xyz : ",  my_list.count( 'xyz' ))
print("Count for ABC : ",  my_list.count( 'ABC' ))


###실행결과
Count for xyz :  1
Count for ABC :  1

 

 

 

enumerate

enumerate 함수는 인덱스와 원소로 이루어진 튜플(tuple)을 만들어준다.

li = [12,24,35,70,88,120]
for (i,x) in enumerate(li):
   if i not in (0,3,5):
     li = x
print(li)


###실행결과
88

 

300x250