728x90

파이썬은 변수 선언 키워드가 없다.

 

LIST : 복수개의 값을 담을 수 있는 데이터의 구조

리스트에서 원소를 삽입, 제거, 정렬할 수 있다.(mutable)

 

리스트 초기화

  • [] # 빈리스트
  • list() 함수로 생성
  • str.split()함수로 생성
# 문자열은 immutable
= 'hello, world.'
# a[0] = 'J'  # TypeError: 'str' object does not support item assignment
print(a)
 
= a.replace('h''J')
print(b)


['a','b']
['a',2] # 다른자료형을함께

 

[1,2,3] + [4,5,6]

결과는 [1,2,3,4,5,6]

 

a = [1, 2, 3]

a.append(4) # 리스트 마지막 원소 뒤에 추가한다.

print(a)

 

a.insert(1,7) # def insert(index,object)

- 리스트의 원하는 위치에 추가 가능

- 앞에 인덱스, 뒤에 아이템을 명시

= [123]
a.append(4)
print(a)  # [1, 2, 3, 4]
 
a.insert(1,7)  # def insert(index, object)
print(a)  # [1, 7, 2, 3, 4]
 
a[0= 100
print(a)  # [100, 7, 2, 3, 4]
 
# slicing
= [123456789]
print(a[4:7]) # [5, 6, 7]  # 뒤 index 숫자는 포함하지 않음.
print(a[:7]) # [1, 2, 3, 4, 5, 6, 7]
print(a[3:]) # [4, 5, 6, 7, 8, 9]
print(a[1:7:2]) # [2, 4, 6]  # 마지막 2 는 step 2

 

subway = ["유재석""홍길동""강호동"]
print(subway.index("강호동"))
print(subway.index("홍길동"))
print(subway.index("유재석"))
subway.append("강감찬"# 리스트 마지막 원소 뒤에 추가한다.
print(subway)  # ['유재석', '홍길동', '강호동', '강감찬']
 
# 1번째에 키워넣기 insert(위치, 값)
subway.insert(1,"이순신")
print(subway)  # ['유재석', '이순신', '홍길동', '강호동', '강감찬']

 

여러개의 요소를 추가하고 싶을 때는 extend 함수를 사용한다.

def extend(iterable)

a.extend([5,6,7])

 

= [1,2,3,4,5]
= [6,7,8,9,10]
 
a.append(b)
print(a) # [1, 2, 3, 4, 5, [6, 7, 8, 9, 10]]
 
# 리스트 합치기
# 방법 1
a.extend(b)
print(a)  # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 방법 2
+= b
print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 

 

index()

- 찾고자 하는 값의 인텍스를 반환

 

in 키워드

- 리스트 내에 해당 값이 존재하는 지 확인

- value in [list]

- True, False 중 한가지로 반환

# list 는 mutable(가변), tuple은 immutable(불변)
# list 는 대괄호, tuple 은 소괄호 사용
= [4231]
= ["hello""hi"579]
 
x[3= 10  # list는 값을 변경할 수 있지만, tuple은 값 변경 불가
print(x)  # [4, 2, 3, 10]
 
print(x + y)
 
= sum(x) # 리스트를 합한 값을 반환.
print(z)  # 4 + 2 + 3 + 10 = 19
 
# index : 찾고자 하는 값의 인덱스를 반환
print(x.index(3))  # 2
 
for n in x:
  print(n)
 
print("hello" in y) # hello 가 y 에 있어?
 
if "hello" in y:
  print("hello 가 있어요.")

 

리스트 정렬

리스트 정렬(list.sort()) : 숫자는 오름차순, 문자열은 사전순

- 같은 자료형만 정렬 가능

- 리스트 내부 다른 자료형은 사용 불가

# 순서대로 정렬하기
num_list = [5,2,3,4,1]
num_list.sort()
print(num_list)  # [1, 2, 3, 4, 5]
 
# 순서 역순 정렬하기
num_list.reverse()
print(num_list)  # [5, 4, 3, 2, 1]
 

 

sort() : list 자체를 내부적으로 정렬

sorted() : list의 정렬된 복사본을 반환

# list 는 mutable(가변), tuple은 immutable(불변)
= [91071912202187]
# a.sort(reverse=True)
print(a)  # [21, 20, 19, 10, 9, 8, 7, 7, 2, 1]
 
= sorted(a)
print(a) # [9, 10, 7, 19, 1, 2, 20, 21, 8, 7]
print(b) # [1, 2, 7, 7, 8, 9, 10, 19, 20, 21]

 

리스트 요소 제거

- 값으로 항목 제거

  1. remove() 함수

- 인덱스로 제거

  1. del 연산자

  2. pop() 함수 : 지우고자 하는 아이템을 반환 후, 삭제

 

# remove 함수
= [123345]
a.remove(3)
print(a)  # [1, 2, 3, 4, 5]
# 동일한 값이 있을 경우 앞에 있는 값을 제거한다.
 
a.remove(7# ValueError: list.remove(x): x not in list
print(a)
 

 

list.pop(index)

- 인덱스 해당 요소를 제거한다.

- 인덱스를 지정하지 않으면 자동으로 -1을 호출하여 마지막 요소를 제거한다.

# pop 함수
= ["유재석""홍길동""강호동"]
 
# list.pop(i) : 인덱스 i의 원소를 제거 후 그 원소를 반환
# 한 명씩 뒤에서 꺼내기
print(b.pop())
print(b.pop())
 
# 특정한 원소 꺼내기
print(b.pop(0))
 
= [12345]
a.pop()  # 지정하지 않으면 마지막 원소 제거
print(a)  # [1, 2, 3, 4]
 
= [12345]
= a.pop(2)
print(a)  # [1, 2, 4, 5]
print(d)  # 3

 

# seq.count(d) : 시퀀스 내부의 자료 d의 개수를 반환
my_seq = [2,2,2,4,4,6,7]
print(my_seq.count(2)) # 결과 : 3
 
# 숫자 1, 2, 2, 3, 3, 3이 담긴 리스트 my_list를 하나 선언해 봅시다.
# my_list 안의 숫자 3의 개수를 변수 var1에 넣어 봅시다.
# 일부 원소를 제거하여 my_list가 [1, 2, 3]이 되도록 해봅시다.
my_list = [122333]
var1 = my_list.count(3)
print(var1) # 3
my_list.pop()  # 마지막 원소 제거
my_list.pop()  # 마지막 원소 제거
my_list.pop(2# 3번째 원소 제거
print(my_list)

 

문자열 분리

str.split(c)

c를 기준으로 문자열을 쪼개서 리스트를 반환(괄호를 비울시 공백)

words = "python은 프로그래밍 배우기에 아주 좋은 언어입니다."
words_list = words.split()
print(words_list) # ['python은', '프로그래밍', '배우기에', '아주', '좋은', '언어입니다.']
 
time_str = "10:34:17"
time_str_list = time_str.split(':')
print(time_str_list) # ['10', '34', '17']
 

 

str.join(list)

str를 기준으로 리스트를 합쳐서 문자열을 반환(괄호를 비울시 공백)

= ['a''b''c''d''1''2''3']
print(a)
 
# 리스트를 문자열로 : join 이용
result1 = "".join(a)
print(result1)  # 결과 : abcd123
 
friend = ['Pat''Mat']
print('&'.join(friend))  # Pat&Mat

 

'파이썬 > Python 기초' 카테고리의 다른 글

[파이썬기초] Tuple(튜플)  (0) 2021.01.01
[파이썬 기초] dictionary  (0) 2021.01.01
[파이썬 기초] 반복문 for, while  (0) 2020.12.29
[파이썬 기초] 함수와 조건문  (0) 2020.12.29
파이썬 기초  (0) 2020.08.08
블로그 이미지

Link2Me

,