본문 바로가기
반응형

5-1. 파이썬 제공 기본 자료구조/리스트28

[파이썬]리스트 안에 여러 딕셔너리가 들어있는데, 각 딕셔너리에서 첫번째 value 값만 가져오는 방법 코드는 아래와 같습니다. my_list = [{"key1": "value1_1", "key2": "value1_2"}, {"key1": "value2_1", "key2": "value2_2"}] first_values = [] for my_dict in my_list: first_values.append(list(my_dict.values())[0]) print(first_values) 2023. 5. 13.
[파이썬] 리스트의 모든 원소 반올림 하는 방법 파이썬의 내장함수인 round 함수는 리스트에 적용할 수 없습니다. 리스트에 적용이 가능한 반올림 함수는 numpy 패키지의 round 함수입니다. 먼저 넘파이 패키지를 불러옵시다. import numpy as np 아래와 같은 리스트를 하나 만들어줍시다. a=[1.11,2.22,3.33,4.44,5.55] np.round 함수를 이용하여 반올림을 해줍시다. >>> np.round(a,1) array([1.1, 2.2, 3.3, 4.4, 5.6]) 리스트의 차원이 더 높아도 가능한지 확인해봅시다. >>> b=[[1.11,2.22],[3.33,4.44]] >>> np.round(b,1) array([[1.1, 2.2], [3.3, 4.4]]) 가능합니다. 2023. 5. 3.
[파이썬] 리스트 원소를 복사할 때 기존 리스트 영향 안받게 복사하기 1. 종속적인 복사 (얕은 복사) 아래와 같은 리스트가 있다고 합시다. a=[1,2,3,4,5] a를 b에 아래와 같이 복사합시다. b=a 만약 a를 변경하면 b도 변경됩니다. >>> a.remove(1) >>> b [2, 3, 4, 5] a를 변경해도 b는 변경되지 않도록 복사하고 싶은 경우 사용하는 방법이 copy 메소드입니다. 2. 독립적인 복사 (깊은 복사) a를 다시 정의하고 아래와 같이 복사합시다. >>> a=[1,2,3,4,5] >>> b=a.copy() a를 변경해도 b가 변하지 않습니다. >>> a.remove(1) >>> b [1, 2, 3, 4, 5] 2023. 5. 3.
[파이썬] 리스트 원소를 랜덤하게 썪는 방법 (random.shuffle) 아래와 같은 리스트가 있습니다. a=[1,2,3,4,5,6,7,8,9,10] 순서를 랜덤하게 섞어봅시다. random 패키지의 shuffle 함수를 사용합니다. >>> import random >>> random.shuffle(a) >>> a [5, 8, 1, 2, 4, 9, 3, 6, 10, 7] 리스트 a가 랜덤하게 섞인 것을 알 수 있습니다. 2023. 5. 2.
[파이썬] 리스트의 마지막 요소를 삭제하고 반환 (pop) 아래와 같은 리스트가 있습니다 . a=[1,2,3,4,5] pop 메소드를 아무 입력값 없이 사용하면 리스트의 마지막 값을 제거하며 반환합니다. >>> a.pop() 5 마지막 값이 제거되었나 확인해봅시다. >>> a [1, 2, 3, 4] 2023. 5. 2.
[파이썬] 리스트 각 원소에 원하는 함수 적용하기 (map) 리스트의 각 원소에 원하는 함수를 적용하는 방법입니다. 아래와 같은 형식으로 사용합니다. list(map(함수이름,리스트이름)) 아래는 리스트 각 원소를 실수로 바꾸는 방법입니다. >>> mylist=['1.3','5.5','1.2e7'] >>> list(map(float,mylist)) [1.3, 5.5, 12000000.0] 2022. 5. 23.
[파이썬] 리스트가 비어있는지 확인하는 방법 비어있는 리스트를 하나 정의합시다. mylist=[] 1) 길이가 0인지 확인 >>> len(mylist)==0 True 2) not 연산자 사용 리스트가 비어 있을 경우 not 연산자의 결과가 True >>> not mylist True 2022. 5. 20.
[파이썬] 리스트 할당과 복사 (2차원 배열에서는 왜 안될까) 아래와 같이 a라는 리스트를 정의해봅시다. >>> a=[1,2,3] b에 a를 할당합니다. >>> b=a >>> b [1, 2, 3] b를 수정하면 a가 바뀔까요. 바뀌지 않을까요? 한번 수정해봅시다. >>> b[0]=2 >>> a [2, 2, 3] a도 함께 바뀝니다. copy 메소드 만약 b를 a와 같게 정의하고, 이후에는 b만 독립적으로 사용하려면 어떻게 해야 할까요? copy 메소드를 사용하면 됩니다. copy 메소드로 b를 정의해봅시다. >>> a=[1,2,3] >>> b=a.copy() >>> a [1, 2, 3] >>> b [1, 2, 3] b의 원소를 바꿔봅시다. >>> b[0]=50 >>> a [1, 2, 3] >>> b [50, 2, 3] b만 변경되었습니다. copy 메소드에는 한계가.. 2021. 11. 9.
리스트 인덱싱과 슬라이싱 음수로 하는법 확장자 등을 제거하기 위해 리스트 인덱싱을 거꾸로 해야하는 경우가 있습니다. 예를 들어봅시다. 인덱싱 >>> L=[1,2,3,4,5,6] >>> L[-1] 6 >>> L[-2] 5 >>> L[-3] 4 -1 부터 인덱스로 사용합니다. 슬라이싱 슬라이싱도 가능합니다. >>> L[-3:-1] [4, 5] -1까지 슬라이싱해도 리스트의 끝까지 슬라이싱이 되지 않습니다. 리스트의 끝까지 슬라이싱 하려면 아래와 같이 입력합니다. >>> L[-3:] [4, 5, 6] 2021. 5. 20.
[파이썬 기초] 리스트 생성 시 값만 참조하는 방법 [파이썬 기초] 리스트 생성 시 값만 참조하는 방법 A라는 리스트를 만들고, A를 참조하여 B를 만들었다고 합시다. >>> A=[1,2,3]>>> B=A>>> B[1, 2, 3] 위와 같이 참조할 경우 A의 일부가 바뀌면 B가 함께 바뀐다는 문제가 있습니다. >>> A[0]=100>>> B[100, 2, 3] 물론 의도한 것이라면 상관 없습니다. 만약 의도한 것이 아니고, A의 일부가 바뀌어도 B가 바뀌지 않길 원한다면 아래와 같이 B를 정의해주면 됩니다. >>> A=[1,2,3]>>> B=A[:]>>> B[1, 2, 3] A의 일부를 수정해봅시다. >>> A[0]=1000>>> B[1, 2, 3] B가 바뀌지 않은 것을 알 수 있습니다. 2020. 11. 10.
[파이썬 기초] 리스트 생성 시 주의할 점 (리스트 참조) [파이썬 기초] 리스트 생성 시 주의할 점 (리스트 참조) 리스트를 참조하여 생성할 때 주의할 사항이 있습니다. 이해를 위해 예를 하나 들겠습니다. 리스트 A를 정의하고, A를 참조하여 B를 만들겠습니다. >>> A=[1,2,3]>>> B=A>>> B[1, 2, 3] 만약 A를 통채로 바꾸면 B가 어떻게 될까요? >>> A=[10,20]>>> B[1, 2, 3] B는 처음에 참조한 값에서 바뀌지 않습니다. 그렇다면 한번 참조한 뒤에는 A의 변화가 B에 영향을 미치지 않는걸까요? 다시 A를 정의하고, A를 참조하여 B를 만들어봅시다. >>> A=[1,2,3]>>> B=A>>> B[1, 2, 3] 이번에는 A의 첫번째 원소만 바뀌봅시다. >>> A[0]=100>>> B[100, 2, 3] B가 바뀌었습니다... 2020. 11. 10.
[파이썬기초] range 함수로 리스트 정의하기 (등차수열 쉽게 정의하기) [파이썬기초] range 함수로 리스트 정의하기 (등차수열 쉽게 정의하기) range 함수 설명 range 함수는 0을 포함한 자연수의 수열을 반환해주는 함수입니다. 세가지 사용방법이 있습니다. range(값)range(시작값,끝값+1)range(시작값,끝값+1,간격) range를 이용하여 list 정의 range 함수 결과에 list 함수를 적용하면 됩니다. >>> list(range(5))[0, 1, 2, 3, 4] >>> list(range(2,4))[2, 3] >>> list(range(2,9,2))[2, 4, 6, 8] >>> list(range(2,10,2))[2, 4, 6, 8] 2020. 11. 3.
[파이썬기초] 리스트 길이를 구하는 법 (len) [파이썬기초] 리스트 길이를 구하는 법 리스트의 길이를 구할 때는 len 함수를 사용합니다. 리스트를 하나 정의합시다. >>> L=[1,2,2,4,5] >>> L [1,2,2,4,5] len 함수를 사용해봅시다. >>> len(L) 5 2020. 11. 2.
[파이썬기초] 리스트 특정 원소의 개수를 구하는 방법 (count) 리스트 특정 원소의 개수를 구할 때는 count 메소드를 사용합니다. 리스트를 하나 정의합시다. >>> L=[1,2,2,4,5] >>> L [1,2,2,4,5] 4의 개수를 구해봅시다. >>> L.count(4) 1 2의 개수를 구해봅시다. >>> L.count(2) 2 2020. 11. 2.
[파이썬기초] 리스트 요소의 인덱스를 확인 (index) [파이썬기초] 리스트 요소의 인덱스를 확인 리스트 요소의 위치를 확인하는 방법입니다. index 메소드를 사용합니다. 요소를 입력하면 index를 반환합니다. 리스트를 하나 정의합시다. >>> L=[1,2,2,4,5] >>> L [1,2,2,4,5] 요소 4의 인덱스를 반환해봅시다. >>> L.index(4) 3 요소 2의 인덱스를 반환해봅시다. 가장 처음 나온 2의 인덱스를 반환합니다. >>> L.index(2) 1 2020. 11. 2.
[파이썬기초] 리스트 슬라이싱의 결과는 리스트다 [파이썬기초] 리스트 슬라이싱의 결과는 리스트다 리스트 인덱싱을 하면 결과로 반환되는 값은 해당 값의 자료형을 갖습니다. 예를들어봅시다. >>> L=[1,'a',{1,2}] >>> L[0]1 >>> L[1]'a' >>> L[2]{1, 2} 슬라이싱을 하면 하나의 원소에 접근하더라도 리스트로 출력됩니다. >>> L[0:1][1] 2020. 10. 30.
[파이썬기초] 리스트 요소 길이 순으로 정렬 (sort) [파이썬기초] 리스트 요소 길이 순으로 정렬 리스트 요소를 길이 순으로 정렬할 때는 sort 메소드에서 key=len 을 입력해주면 됩니다. 리스트를 하나 정의합시다. >>> L=[1,2,3,4,5] >>> L [1,2,3,4,5] 길이순으로 정렬해봅시다. >>> L.sort(key=len) Traceback (most recent call last): File "", line 1, in L.sort(key=len) TypeError: object of type 'int' has no len() 오류가 발생합니다. int는 길이가 정의되지 않기 때문입니다. 요소로 문자열이나 리스트를 넣어야 합니다. 리스트를 다시 정의합시다. >>> L=[[1,2],'asd','a',[1,2,3,4,5],'asdf'] >.. 2020. 10. 23.
[파이썬기초] 리스트 요소 순서 거꾸로 뒤집기 (reverse 사용) [파이썬기초] 리스트 요소 순서 거꾸로 뒤집기 (reverse 사용) 리스트 요소의 순서를 거꾸로 뒤집을 때는 reverse 메소드를 사용합니다. 리스트를 하나 정의합시다. >>> L=[1,2,3,4,5]>>> L[1,2,3,4,5] 순서를 거꾸로 뒤집어봅시다. >>> L.reverse()>>> L[5, 4, 3, 2, 1] 2020. 10. 23.
[파이썬기초] 리스트 내림차순, 오름차순 정렬하는 방법 (sort 사용) [파이썬기초] 리스트 내림차순, 오름차순 정렬하는 방법 (sort 사용) 오름차순과 내림차순에는 sort 메소드를 사용합니다. 숫자 오름차순 정렬 리스트를 하나 정의합시다. >>> L=[1,5,2,4,3]>>> L[1,5,2,4,3] 오름차순 정렬합시다. >>> L.sort()>>> L[1, 2, 3, 4, 5] 숫자 내림차순 정렬 리스트를 하나 정의합시다. L=[1,5,2,4,3]L[1,5,2,4,3] 내림차순으로 정렬합시다. >>> L.sort(reverse=True)>>> L[5, 4, 3, 2, 1] 2020. 10. 23.
[파이썬기초] 요소가 리스트에 있는지 확인하는 방법 [파이썬기초] 요소가 리스트에 있는지 확인하는 방법 어떤 요소가 리스트에 있는지 확인하는 방법을 알아봅시다. 리스트를 하나 정의합시다. >>> L=[1,2,3,4,5]>>> L[1,2,3,4,5] 3이 리스트 L에 들어있는지 확인하는 방법은 아래와 같습니다. >>> 3 in LTrue 100이 리스트 L에 들어있는지 확인하는 방법은 아래와 같습니다. >>> 100 in LFalse 2020. 10. 23.
[파이썬기초] 리스트 요소 삭제 - 요소 인덱스를 입력 (pop) [파이썬기초] 리스트 요소 삭제 - 요소 인덱스를 입력 (pop) 리스트 요소를 삭제하는 메소드는 remove 와 pop 이 있습니다. 둘의 차이는 아래와 같습니다. - remove : 요소 이름을 입력하여 삭제- pop : 요소 이번 글에서는 pop 메소드를 이용한 요소삭제 방법을 알아봅시다. pop 메소드는 삭제될 요소가 무엇인지도 출력해줍니다. 숫자 요소를 삭제 리스트를 하나 정의합시다. >>> L=[100,200,300,400]>>> L[100,200,300,400] 200를 삭제합시다. >>> L.pop(1)200>>> L[100, 300, 400] 리스트 요소를 삭제 리스트를 하나 정의합시다. >>> L=[[1,2],3,4]>>> L[[1,2],3,4] [1,2] 를 삭제합시다. >>> L.p.. 2020. 10. 23.
[파이썬기초] 리스트 요소 삭제 - 요소 이름을 입력 (remove) [파이썬기초] 리스트 요소 삭제 - 요소 이름을 입력 (remove) 리스트 요소를 삭제하는 메소드는 remove 와 pop 이 있습니다. 둘의 차이는 아래와 같습니다. - remove : 요소 이름을 입력하여 삭제- pop : 요소 인덱스를 입력하여 삭제 이번 글에서는 remove 메소드를 이용한 요소삭제 방법을 알아봅시다. 숫자 요소를 삭제 리스트를 하나 정의합시다. >>> L=[100,200,300,400]>>> L[100,200,300,400] 200를 삭제합시다. >>> L.remove(200)>>> L[100, 300, 400] 리스트 요소를 삭제 리스트를 하나 정의합시다. >>> L=[[1,2],3,4]>>> L[[1,2],3,4] [1,2] 를 삭제합시다. >>> L.remove([1,2].. 2020. 10. 23.
[파이썬기초] 리스트 요소 수정 [파이썬기초] 리스트 요소 수정 리스트는 요소 수정이 가능한 자료구조입니다. 인덱싱 후에 원하는 값을 입력해주면 됩니다. 단일 요소 수정 리스트를 하나 정의합시다. L=[1,2,3,4]L[1,2,3,4] 두번째 요소를 10으로 수정합시다. >>> L[0]=10>>> L[10, 2, 3, 4] 여러 요소를 한번에 수정 리스트를 하나 정의합시다. >>> L=[1,2,3,4]>>> L[1,2,3,4] 세번째 요소를 [10,100] 으로 수정합시다. >>> L[2]=[10,100]>>> L[1, 2, [10, 100], 4] 2020. 10. 23.
[파이썬기초] 리스트 요소 삽입 (insert 사용) [파이썬기초] 리스트 요소 삽입 (insert 사용) append 메소드는 리스트의 끝에 요소를 추가합니다. 리스트 중간에 요소를 삽입할 경우 insert 메소드를 사용합니다. 리스트에 숫자 삽입 리스트를 하나 정의합니다. >>> L=[1,2,3,4]>>> L[1, 2, 3, 4] 1과2 사이에 10을 삽입해봅시다. >>> L.insert(1,10)>>> L[1, 10, 2, 4, 10, 15] 리스트에 리스트 삽입 >>> L=[1,2,3,4]>>> L[1, 2, 3, 4] 2와3 사이에 [10,100]을 삽입해봅시다. >>> L.insert(2,[10,100])>>> L[1, 2, [10, 100], 3, 4] 2020. 10. 23.
[파이썬기초] 리스트 요소 추가 (append 사용) [파이썬기초] 리스트 요소 추가 (append 사용) 리스트에 요소를 추가해봅시다. append 메소드를 사용합니다. 리스트에 숫자추가 리스트를 하나 정의합니다. >>> L=[1,2,3,4]>>> L[1, 2, 3, 4] 5를 추가합시다. >>> L.append(5)>>> L[1, 2, 3, 4, 5] 리스트에 리스트 추가 리스트를 하나 정의합니다. >>> L=[1,2,3,4]>>> L[1, 2, 3, 4] [1,2] 를 추가합시다. >>> L.append([1,2])>>> L[1, 2, 3, 4, [1, 2]] 2020. 10. 23.
[파이썬 기초] 리스트(list) 인덱싱과 슬라이싱 (2) 중첩이 있는 경우 [파이썬 기초] 리스트(list) 인덱싱과 슬라이싱 (2) 중첩이 있는 경우 리스트 안에 리스트를 정의한 것을 '중첩'이라고 부르겠습니다. 중첩이 있는 경우의 인덱싱을 알아봅시다. 이중 중첩 리스트가 이중으로 중첩된 리스트를 정의합시다. >>> L=[[1,2],3]>>> L[[1, 2], 3] 첫번째 원소에 접근해봅시다. >>> L[0][1, 2] 첫번째 원소는 리스트 [1,2] 입니다. 첫번째 원소인 리스트 [1,2]의 첫번째 원소 1에 접근하는 방법은 아래와 같습니다. >>> L[0][0]1 삼중 중첩 리스트가 삼중으로 중첩된 리스트를 정의해봅시다. >>> L2=[[[1,2],1],2]>>> L2[[[1, 2], 1], 2] 첫번째 원소에 접근해봅시다. >>> L2[0][[1, 2], 1] 첫번째 원.. 2020. 10. 22.
[파이썬 기초] 리스트(list) 인덱싱과 슬라이싱 (1) 중첩 없는 경우 [파이썬 기초] 리스트(list) 인덱싱과 슬라이싱 (1) 중첩 없는 경우 리스트에서 인덱싱을 하는 방법입니다. 중첩이 없는경우와 있는 경우로 나눠서 살펴볼 것이며, 이번 글은 중첩이 없는 경우입니다. 먼저 리스트를 하나 정의하겠습니다. >>> L=[1,2,3,4,5]>>> L[1, 2, 3, 4, 5] 하나의 원소에 접근 리스트 L의 첫번째 원소에 접근해보겠습니다. 대괄호를 사용합니다. >>> L[0]1 구간을 이용하여 여러 원소에 접근 구간을 이용할 때는 콜론 : 을 사용합니다. 첫번째와 두번째 원소에 접근할 때는 어떻게 해야할까요? 첫번째 원소의 접근방법이 L[0]이었으니까, 두번째 원소까지의 접근은 아마 L[0:1]가 떠오르실 것입니다. 아쉽게도 결과는 아래와 같습니다. 첫번째 원소만 출력되었습니.. 2020. 10. 22.
[파이썬 기초] 리스트(list) 소개, 정의 [파이썬 기초] 리스트(list) 소개, 정의 리스트는 파이썬에서 제공하는 기본 자료구조중 하나입니다. 아래와 같은 특징을 가집니다. - 대괄호로 정의함 ex) [1,2,3]- 순서가 있음- 원소로 리스트를 가질 수 있음- 원소로 다른 자료구조(튜플,문자열,딕셔너리)를 가질 수 있음- 서로 다른 자료구조를 동시에 원소로 가질 수 있음- 수정이 가능함 아래는 리스트 정의 예시입니다. >>> L1=[1,2,3]>>> L1[1, 2, 3] >>> L2=[1,2,'a']>>> L2[1, 2, 'a'] >>> L3=[1,2,(1,2,3)]>>> L3[1, 2, (1, 2, 3)] >>> L4=[1,'a',{"KOREA":"Seoul","US":"Washigton","JAPAN":"Tokyo"}]>>> L4[1, .. 2020. 10. 22.
반응형