Wecode 파이썬 모르는 부분 (list)
목적 : 함수는 조금 익숙해졌지만 리스트랑 섞이며 응용을 하니까 어떻게 접근 해야 할지 감이 안잡힌다.. 그래서 일단 다른 글에 올라온 걸 레퍼런스 해야겠단 생각을 하게 되었다.
Assignment
Input으로 주어진 리스트의 첫번째와 마지막 element의 값을 더한 값을 리턴 해주세요.
- 만일 리스트가 비어있다면 0이 리턴되어야 합니다.
example1)
inputs = [1, 2, 3, 4, 5]
#출력
6
example2)
inputs = [1]
#출력
1
Hint: list의 총길이는 다음처럼 len 함수를 사용해서 알아낼 수 있습니다.
length = len(inputs)
일단 다른 블로그에서 참조한 코딩 근데 호출인자도 없고, 더 복잡했따..
def add_first_and_last_elements(my_list):
# 이 함수를 구현해주세요
if len(my_list) ==0:
return 0
elif len(my_list) ==1:
return my_list[0]
else:
return my_list[0]+ my_list[len(my_list)-1]
그래서 나름대로 바꾸어봤다
def add_first_and_last_elements(my_list):
# 이 함수를 구현해주세요.
length = len(my_list)
if length > 1:
return my_list[0] + my_list[-1]
elif length == 1:
return my_list[0]
else:
return 0
a = add_first_and_last_elements([1,2,3,4,5])
b = add_first_and_last_elements([])
print(a)
print(b)
6
0
답은 나왔지만 다시 해보라면 할 자신이 없기에 한 두어번 더 해보고 넘거야겠다 해야할 산들이 산더미다...ㅠ 두번째는 조금 더 내가 이해하기 쉽게 바꿔보았다
def add_first_and_last_elements(my_list):
# 이 함수를 구현해주세요.
length = len(my_list)
if length > 1 :
return my_list[0] + my_list[-1]
else :
return 0
a = add_first_and_last_elements([1,2,3,4,5])
b = add_first_and_last_elements([0])
print(a)
print(b)
6
0
make_list
함수의 리턴값이 ["wecode", 2021]
가 되도록 List
을 만들어 주세요.
30번 문제를 풀면서 든 생각인데 호출인자에 함수이름()을 안해도되네? 리스트는 특별한가?
보통 a =make_list(["wecode", 2021]) 이렇게 해와서 이런줄 알았는데 이렇게 해보니
def make_list():
여기에 코드를 작성해주세요.
아래의 코드는 수정하지 마세요.
return my_list
a =["wecode", 2021]
print(a)
['wecode', 2021]
호출인자에 함수이름을 넣어봤다
def make_list():
여기에 코드를 작성해주세요.
아래의 코드는 수정하지 마세요.
return my_list
a =make_list(["wecode", 2021])
print(a)
File "main.py", line 8
a =make_list(["wecode", 2021])
^
IndentationError: unindent does not match any outer indentation level
결론 :일단 나중에 생각하고 넘어가자.. 리스트는 뭔가 다르겠지?
다차원 리스트란 : 리스트를 중첩할 수 있다 자료구조 큐를 할때 무척 중요한거 같다
multi_list
함수의 리턴값이 [["becoming", 29], ["developers", 30]] 가 되도록 List
을 만들어 주세요.
def multi_list():
아래에 코드를 작성해주세요.
아래의 코드는 변경하지 마세요.
return my_list
a =[["becoming", 29], ["developers", 30]]
print(a)
["becoming", 29], ["developers", 30]]
주어진 리스트 my_list
에서 두번째 데이터를 반환하는 list_index
함수를 작성해주세요.
리스트에서 원하는 정보를 빼오는것을 인덱싱이라 한다 문제를 보자
굳이 my_list라는 변수에 리스트가 함수 안에 들어가있네?
first_value 라는 필요없는것이 리턴되어있네..? fitst_value에 리스트 60을 넣고
해보고 난 후에야 전에 호출함수가 왜 함수이름을 안적었는지 알았다
함수 안에 변수가 들어가면 호출인자에 함수이름을 적어야 하는구나라는 사실을 아닐 수도있다.
일단 패스
def list_index():
# 아래의 코드는 변경하지 마세요.
my_list = [50, 60, 70]
# 아래에 코드를 작성해주세요.
first_value = my_list[1]
# 아래의 코드는 변경하지 마세요.
# return first_value
return first_value
a =list_index()
print(a)
pop()메소드를 사용해서 마지막 요소를 제거하는 함수
list_pop`을 완성해주세요.
처음에는 my_list.pop[2] 를 했었는데 계속 안되다가 1을 넣으니까 지워졌다
리스트면 중괄호가 맞는거 같은데 흐음 알다가도 모르겠다
def list_pop():
# 아래의 코드는 수정하지 마세요.
my_list = [["John", 23], ["cat", 2]];
# 아래에 코드를 작성해 주세요.
my_list.pop(1)
# 아래의 코드는 수정하지 마세요.
return my_list
a = list_pop()
print(a)
[['John', 23]]
오 이거 예전부터 많이 봤던 것인데 나와서 암기해야겠다
37-4. Empty List
처음에는 비어있는 list를 생성한다음에 나중에 element들을 추가 할 수도 있습니다.
Empty list
는 element가 없는 비어있는 []
(대괄호)로 만들 수 있습니다.
my_list = [ ]
my_list.append(1)
my_list = my_list + [2, 3]
def merge_and_swap(list1, list2):
**# # Assignment
아래 조건을 만족하는 `merge_and_swap` 함수를 완성 하세요.
- 2개의 리스트를 input으로 받습니다.
- input 받은 2개의 리스트를 하나의 리스트로 합칩니다.
- 합쳐진 리스트의 첫 element와 마지막 element를 서로 바꾼 후 리스트 전체를 리턴 합니다.
- input 모두 빈 리스트이면 빈 리스트를 리턴합니다.
example)
```python
#input
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7]
#output
[7, 2, 3, 4, 5, 6, 1]
list1 = list1 + list2
이 함수를 구현해 주세요 솔직히 몰라서 If 구글로 서치해서 봤다 억울한것은 봤지만 한 두번정도 새본 다음에야 비로소, 이해가 되었다
```
def merge_and_swap(list1, list2):
list1 = list1 + list2
이 함수를 구현해 주세요
length = len(list1)
if length > 1:
first = list1[0]
last = list1[length - 1]
list1[0] = last
list1[length - 1] = first
return list1
a = merge_and_swap([1,2,3,4,5],[6,7,8,9])
print(a)
> [9, 2, 3, 4, 5, 6, 7, 8, 1]
Author And Source
이 문제에 관하여(Wecode 파이썬 모르는 부분 (list)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hong_tae/5.Wecode-4일차-20210318-웹-서비스-공부-일단-스톱-파이썬-하기도-벅차다저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)