리스트 들어가기전 잠시 ㅎ
문자열 포맷팅 폭 지정
'''
문자열 포맷팅 폭 지정
포맷팅을 사용할 때 포맷문자열이 차지할 공간의 길이를 지정할 수 있다.
폭 지정을 하면 문자열을 정돈된 형태로 표현할 수 있습니다.
포맷팅 서식문자 자리에 양의 정수값을 주면 해다 숫자만큼 자리를 차지하며 우측정렬한다.
'''
a = 1234
print("~~~%d~~~" % a)
print("~~~%5d~~~" % a)
print("~~~%8d~~~" % a)
#지정한 포보다 데이터의 길이가 더 길경우 폭 지정을 적용하지 않는다.
print("~~~%2d~~~" % a)
print("-" * 40)
price = [30, 19600, 8700, 500]
for p in price:
print("가격: %-8d원" % p)
f =3.12345678
print("f의 값은 %5.2f입니다." % f) # 총 5자리 중 소수점 2개자리까지 출력
-------------------------결과---------------------------------
~~~1234~~~
~~~ 1234~~~
~~~ 1234~~~
~~~1234~~~
----------------------------------------
가격: 30 원
가격: 19600 원
가격: 8700 원
가격: 500 원
리스트 기본
'''
리스트
리스트는 여러개의 값을 집합적으로 저장하기 위해 사용하는 파이썬의 자료형이다.
다른 언어의 배열과 비슷한 개념이며 실제로 배열과 유사한 방식으로 데이터를 관리한다.
[]안에 요소를 콤마로 구분하여 나열한다.
저장개수에 제한이 없어 많은 데이터를 저장할 수 있다.
리스트 내부에 저장할 수 있는 데이터 타입에는 제한이 없다.
그리고 여러 데이터타입의 데이터를 섞어서 저장할 수도 있지만 일반적이지는 않다!!!!.
리스트를 사용하면 반복문을 쉽게 사용할 수 있어 개별 변수로 데이터를 처리했을 때보다
간단히 코드를 작성할 수 있으며, 가변적인 규모에도 쉽게 대응할 수 있다.
'''
points = [88, 96, 70, 100, 99]
sum = 0
for p in points:
sum += p
avg = sum / len(points)
print("총점: %d점, 평균: %.2f점" % (sum, avg))
-------------결과------------------
총점: 453점, 평균: 90.60점
리스트 관리
'''
리스트의 요소(element) 다루기
리스트를 다룰때는 문자열과 비슷한 방식을 사용한다.
문자열도 문자들을 모아놓은 일종의 리스트이다.
리스트는 인덱스를 통해 요소들을 관리한다.
'''
names = ["기러기", "스위스", "우영우", "금요일"]
print(names[2]) #우영우
print(names[-1]) #우영우
print(type(names)) #list
print(type(names[1])) # str
# 안의 요소 타입과 리스트 타입이 다르다는것이 중요하다.!!!!!!!!!
print(names[1][0]) # 스위스가 문자열이기 때문에 다시 0번째를 찾음 즉, 스
print("-" * 40)
#리스트 슬라이싱 -> 리스트데이터[begin:end:step]
nums = [0,1,2,3,4,5,6,7,8,9]
print(nums[2:5:1])
print(nums[:4])
print(nums[6:])
print(nums[1:7:2])
#리스트는 인덱싱을 통해 변수처럼 내부 요소를 변경할 수 있습니다.
print("-" * 40)
print(names)
names[2] = "이순신"
print(names)
names[3] = nums[7]
print(names)
'''
문자열은 상수형태로 저장되는 고정형 리스트이다.
따라서 인덱싱을 통해 값을 사용하는것은 가능하지만 영역에 접근하여 내부 값을 변경할 수는 없다.
'''
print("-" * 40)
s1 = "python"
#s1[2] = "x" 안됨. 문자열은 고정형 리스트 이므로
print(s1[2])
print(s2[2:5])
#s1[2] = "x"
print(s1)
# 리스트에 +, *연산은 문자열과 같은 결과를 반환한다.
list1 = [1,2,3,4,5]
list2 = [10, 11]
print(list1 + list2) # [1, 2, 3, 4, 5, 10, 11]
print(list * 3) #[10, 11, 10, 11, 10, 11]
'''
비어있는 리스트 만들기 2가지 방법이있다.
'''
print("-----------------------------")
list1 = []
print(list1)
list2 = list()
print(list2)
'''
리스트 관리 함수, 메서드
리스트는 문자열과는 달리 내부 요소데이터의 자유로운 편집이 가능하다.
리스트에 데이터를 추가하는 메서드
1. append() : 요소를 리스트의 맨 마지막에 추가
2.insert() : 요소를 리스트의 특정 위치에 삽입
3.extend() : 리스트에 또 다른 리스트를 병합
'''
nums = [1, 3, 5, 7]
print(nums)
#nums[4] = 9
#list assignment index out of range 라는 에러발생, 공간이 없는데 집어넣으려고하니..
print("-" * 40)
nums.append(9)
print(nums)
nums.append("안녕")
print(nums)
'''
ex) insert(index(값을 넣을 위치 인덱스번호), value(넣은 값))
'''
nums.insert(4, "하이")
print(nums)
'''
# nums의 2번 인덱스에 새로운 리스트 [9, 10, 11]을 저장!
nums[2] = [9, 10, 11]
print(nums)
'''
# nums의 2번 인덱스 이상 3번 인덱스 미만 영역에 들어있는 값을 삭제하고 요소 9, 10, 11을 삽입한다.
print("-" * 40)
nums[2:3] = [9, 10, 11]
print(nums)
nums[1:5] =[15] # 1이상부터 5번 인덱스미만까지 삭제한후 15를 삽입.
# 2번 인덱스 영역에 요소 99, 100 을 삽입
nums[2:2] = [99, 100]
print(nums)
'''
리스트의 + 연산은 원본 리스트는 변화하지 않고 연산이 완료된 새로운 리스트를 생성한다.
extend는 기존의 리스트에 새로운 리스트를 병합시켜 원본의 구조를 변경한다.
'''
list1 = [5, 4, 3, 2, 1]
list2 = [9, 8, 7, 6]
list2.extend(list1)
print(list2)
-----------------------------결과------------------------------
[1, 3, 5, 7]
----------------------------------------
[1, 3, 5, 7, 9]
[1, 3, 5, 7, 9, '안녕']
[1, 3, 5, 7, '하이', 9, '안녕']
----------------------------------------
[1, 3, 9, 10, 11, 7, '하이', 9, '안녕']
[1, 15, 99, 100, 7, '하이', 9, '안녕']
[9, 8, 7, 6, 5, 4, 3, 2, 1]
'IT' 카테고리의 다른 글
10. 파이썬 - 다차원 리스트 , 튜플, 사전 (0) | 2022.08.01 |
---|---|
9-1. 파이썬 리스트 (0) | 2022.07.29 |
8-1.파이썬 - 문자열 포맷팅 (0) | 2022.07.27 |
8. 파이썬 - 문자열 인덱싱, 문자열 슬라이싱, 문자열 관리함수 (0) | 2022.07.27 |
7. 파이썬 - 중첩 반복문, 탈출문(break, continue), 무한루프 (0) | 2022.07.26 |