DataScience

[Python] List/ Dict / Set / 문자열 원소 추가 방법 본문

Programing/Python

[Python] List/ Dict / Set / 문자열 원소 추가 방법

다크미라클 2022. 10. 9. 17:49

1. List 

1.1. (+), (*) 등의 기호  : 가장 기본적인 리스트의 연산 방법이지만 (+)등의 기호를 사용하면 리스트의 id 값이 변하는 것이 아니라 두 리스트가 더해진 새로운 리스트가 반환된다. 즉 기준 리스트에는 변화가 없기 때문에 기존 리스트를 사용하기 위해서는 기존 리스트에 업데이트 형식으로 다시 값을  할당해야 한다. 

a = ["banana", "cherry", "apple"]

a + ["peach"] # (+) 사용
>>> ['banana', 'cherry', 'apple', 'peach']

a * 2 # (*) 사용
>>> ['banana', 'cherry', 'apple', 'banana', 'cherry', 'apple']

 

1.2. append() : 기존 리스트에 한개의 값을 추가하고자 하는 경우 사용한다.  추가되는 값은 기존 리스트의  마지막 리스트에 추가되며 다른 리스트의 내용을 추가하는경우 하나의 값으로 추가되어 n차원의 구조가 발생된다. 

a = ["banana", "cherry", "apple"]

a.append("peach") # 한개 값 추가
>>> ["banana", "cherry", "apple", "peach"]

a.append(["peach", "orange"]) # 다른 리스트 추가
>>> ['banana', 'cherry', 'apple', 'peach', ['peach', 'orange']]

 

1.3. extend() : 기존의 리스트에 다른 리스트의 내용을 추가하기 위해 사용하는 방법으로 append()와 동일하게 기존 리스트 내용의 마지막에 추가된다. 

a = ["banana", "cherry", "apple"]

a.append(["peach", "orange"]) # 다른 리스트 추가
>>> ['banana', 'cherry', 'apple', 'peach', 'orange']

 

1.4. insert() : insert(넣고 싶은 자리, "넣고 싶은 데이터")의 형태로 append()나 extend()의 경우와 다르게 넣고 싶은 자리에 데이터를 추가 가능하다. 

a = ["banana", "cherry", "apple"]

a.insert(1, "peach") # 인덱스 1번에 "Peach" 삽입
>>> ['banana', 'peach', 'cherry', 'apple']

 

1.5. 슬라이싱[:] : [시작:끝]의 값을 조절하여 해당 위치에 값을 추가하거나 요소의 구간을 잘라내고 덮어쓰는 등의 수정이 가능하다.

a = ["banana", "cherry", "apple"]

a[1:1] = ["peach", "watermelon"] # [시작:끝]의 값을 같게 한다면 해당 위치에 여러 개의 데이터 추가 가능
>>> ['banana', 'peach', 'watermelon', 'cherry', 'apple']

a[1:2] = ["peach", "watermelon"] # [시작:끝]의 값을 다르게 한다면 해당 요소의 구간을 잘라 내고 추가 가능
>>> ['banana', 'peach', 'watermelon', 'apple']

※ 튜플의 경우 추가 및 수정이 불가능하기 때문에 기본적으로 이와 아주 흡사한 리스트로 변경 → 리스트에서 값 변경 → 다시 튜플로 변경을 하는 등 자료유형 변환을 이용하여 수정이 가능하다.


2. Dict

1. 딕셔너리[키값] = value : 딕셔너리에서 특정한 키 값을 다른 값으로 바꾸려면 인덱싱 결과에 바꾸고자하는 value값을 대입하여 키 값의 값을 업데이트 가능하다. 단 없는키의 경우 키 값을 변경하는 것이 아닌 새로운 key : value 값이 생성되는 것이다. 즉 키가 중복되지 않으면 새로운 key : value가 증가하지만 키가 중복될시 맨 나중에 입력한 것으로 업데이트 된다.

dict = {"banana" : 27, "cherry" : 16, "pineapple" : 20}

# 키값 중복으로 value값 수정
dict["banana"] = 30 # 있는 데이터는 수정
print(dict)
>>> {"banana" : 30, "cherry" : 16, "pineapple" : 20}

# 새로운 값 추가
dict["apple"]=20
dict(딕션)
>>> {"banana" : 27, "cherry" : 16, "pineapple" : 20, "apple" : 20}

3. Set

3.1. add() : 한 개의 요소를 추가하는 함수이다.

set = {1, 1, 2, 2, 3, 4, 5, 5} # 중복된 데이터가 없으며 데이터 간에 순서가 없다.

set.add(6)
set 
>>> {1, 2, 3, 4, 5, 6}

 

3.2 update() : 2개 이상의 요소를 추가할때 사용하는 함수로, update() 함수의 경우 Iterable의 형태로만 추가가 가능하기 때문에 숫자형을 여러개 써서 추가하는 것은 불가능하다. 

set = {1, 1, 2, 2, 3, 4, 5, 5}

# 이터러블 형태가 아닌 경우
set.update(6,7,8)
set 
>>> TypeError: 'int' object is not iterable

# 이터러블 형태로 추가
set.update([6,7,8])
set 
>>> {1, 2, 3, 4, 5, 6, 7, 8}

4. 문자열

4.1. (+), (*) 등의 기호를 이용하여 문자열과 문자열을 연결하는 것이 가능하다.

a = ""

for i in range(1,11):
  a += str(i)

a
>>> "12345678910"

※. 데이터 타입 정리표


※ 참고 사이트

 

10+ simple examples to learn python tuple in detail | GoLinuxCloud

Python tuples are collection of comma-separated values. It is identical to a list, except it is immutable. Tuples are useful for storing information that you don’t want to change.

www.golinuxcloud.com