*** 정보가 틀릴 수 있습니다.
실행 환경: 리눅스
파이썬 버전: 3.6.8
"f 문자열 포매팅"은 파이썬 버전 3.6 이상부터 사용이 가능.
리스트 만들기
- 리스트명 = [요소0, 요소1, ...]
print(f"// Making List ")
print(f"// ----------------------------------------")
list_0 = [5 ,2, 9, 6]
list_1 = ['Hello', 100]
list_2 = ['Hello', [3, 4]]
list_3 = ['Hello', list_0]
print(f"list_0: {list_0}")
print(f"list_1: {list_1}")
print(f"list_2: {list_2}")
print(f"list_3: {list_3}")
// Making List
// ----------------------------------------
list_0: [5, 2, 9, 6]
list_1: ['Hello', 100]
list_2: ['Hello', [3, 4]]
list_3: ['Hello', [5, 2, 9, 6]]
리스트 인덱싱
- list_0 = [5, 2, 9, 6]
- list_0[0]: 5
- list_0[1]: 2
- list_0[3]: 6
- list_0[-1] = list_0[3]: 6 (인덱스에 -1은 '총 요소 개수' -1로 치환하여 생각하면 편함, list_0[-1] = list_0[4-1] = list[3]
print(f"// List indexing")
print(f"// ----------------------------------------")
list_0 = [5 ,2, 9, 6]
print(f"list_0: {list_0}")
print(f"1. list_0[0]: {list_0[0]}")
print(f"2. list_0[1]: {list_0[1]}")
print(f"3. list_0[2]: {list_0[2]}")
print()
// List indexing
// ----------------------------------------
list_0: [5, 2, 9, 6]
1. list_0[0]: 5
2. list_0[1]: 2
3. list_0[2]: 9
리스트의 마지막 값 찾기
- list_2 = ['Hello', [3, 4]]
- list_2는 [0], [1] 요소를 갖고 list[1] = [3, 4]
- list_2[-1] == list_2[1]과 동일함
print(f"// Finding last index value")
print(f"// ----------------------------------------")
list_2 = ['Hello', [3, 4]]
print(f"list_2: {list_2}")
print(f"1. list_2[-1]: {list_2[-1]}")
print(f"2. list_2[-1][-1]: {list_2[-1][-1]}")
print(f"3. list_2[-1][-2]: {list_2[-1][-2]}")
print()
// Finding last index value
// ----------------------------------------
list_2: ['Hello', [3, 4]]
1. list_2[-1]: [3, 4]
2. list_2[-1][-1]: 4
3. list_2[-1][-2]: 3
리스트의 슬라이싱
- 리스트명[시작 번호:끝 번호]는 리스트[시작 번호]에서 리스트명[끝 번호-1]를 의미
- list_0 = [5, 2, 9, 6] 에서 list_0[1:3]은 list[0] list[1]은 포함이지만 list[2]는 포함하지 않음
- list_0[0:] 인덱스가 표시되어있지 않으면 끝까지를 의미 (list[0] 부터 list 끝까지)
- list_0[:]는 리스트 처음부터 끝까지 == list_0
- list_0[1:-1]의 경우 list_0[1:3]과 같음 (list_0[-1] == list_0[3]임으로 -1은 3으로 치환된다고 볼 수 있음)
print(f"// List slicing")
print(f"// ----------------------------------------")
list_0 = [5 ,2, 9, 6]
print(f"list_0: {list_0}")
print(f"1. list_0[1:3]: {list_0[1:3]}")
print(f"2. list_0[1:-1]: {list_0[1:-1]}")
print(f"3. list_0[0:-1]: {list_0[0:-1]}")
print(f"4. list_0[0:0]: {list_0[0:0]}")
print(f"5. list_0[0:3]: {list_0[0:3]}")
print(f"6. list_0[:]: {list_0[:]}")
print(f"7. list_0[1:]: {list_0[1:]}")
list_2 = ['Hello', [3, 4]]
print(f"list_2: {list_2}")
print(f"8. list_2[1][:]: {list_2[1][:]}")
print(f"9. list_2[1][1:2]: {list_2[1][1:2]}")
print()
// List slicing
// ----------------------------------------
list_0: [5, 2, 9, 6]
1. list_0[1:3]: [2, 9]
2. list_0[1:-1]: [2, 9]
3. list_0[0:-1]: [5, 2, 9]
4. list_0[0:0]: []
5. list_0[0:3]: [5, 2, 9]
6. list_0[:]: [5, 2, 9, 6]
7. list_0[1:]: [2, 9, 6]
list_2: ['Hello', [3, 4]]
8. list_2[1][:]: [3, 4]
9. list_2[1][1:2]: [4]
리스트 연산
- '+'는 리스트끼리 더하니 '*'는 리스트를 반복하는 역할
print(f"// List operations")
print(f"// ----------------------------------------")
list_0 = [5 ,2, 9, 6]
list_1 = ['Hello', 100]
print(f"list_0: {list_0}")
print(f"list_1: {list_1}")
print(f"1. list_0 + list_1: {list_0 + list_1}")
print(f"2. 'a' + 'b': {'a' + 'b'}")
print(f"3. list_0 * 2: {list_0 * 2}")
print(f"4. 'a' * 2: {'a' * 2}")
print()
// List operations
// ----------------------------------------
list_0: [5, 2, 9, 6]
list_1: ['Hello', 100]
1. list_0 + list_1: [5, 2, 9, 6, 'Hello', 100]
2. 'a' + 'b': ab
3. list_0 * 2: [5, 2, 9, 6, 5, 2, 9, 6]
4. 'a' * 2: aa
리스트 수정
- 리스트의 치환: list_0[2] = 7 리스트 3번째 요소를 7로 치환
- 리스트의 식제: del list_0[2] 리스트 3번째 요소를 삭제
- 리스트의 추가: list_0 = list_0 + [1, 9] 리스트 마지막에 [1, 9]를 추가
- 리스트의 추가: list_0.append(3) 리스트 마지막에 3을 추가
- 리스트의 추가: list_0.insert(2, [5, 3]) 리스트 요소 3번째에 [5, 3] 리스트 추가
- 리스트의 추가: list_0[2:2] = [1, 2] 리스트 요소 3번째에 [1, 2] 리스트 추가
- 리스트 마지막 요소 pop: list_0.pop() 리스트 마지막 요소를 return하고 삭제
- 리스트 특정 요소 pop: list_0.pop(4) 리스트 5번째 요소를 return하고 삭제
print(f"// List modifying")
print(f"// ----------------------------------------")
list_0 = [5 ,2, 9, 6]
print(f"list_0: {list_0}")
list_0[2] = 7
print(f"1. list_0: {list_0}")
print()
del list_0[1]
print(f"2. list_0: {list_0}")
del list_0[1:]
print(f"4. list_0: {list_0}")
print()
list_0 = list_0 + [1, 9]
print(f"3. list_0: {list_0}")
print()
list_0 = list_0 + [8]
print(f"5. list_0: {list_0}")
list_0.append(3)
print(f"6. list_0: {list_0}")
print()
list_0.insert(2, [5, 3]) # Insert only one element
print(f"7. list_0: {list_0}")
list_0[2:2] = [1, 2] # Insert multiple element
print(f"8. list_0: {list_0}")
print()
print(f"list_0.pop(): {list_0.pop()}")
print(f"list_0.pop(): {list_0.pop()}")
print(f"list_0: {list_0}")
print(f"list_0.pop(4): {list_0.pop(4)}")
print(f"list_0: {list_0}")
print()
// List modifying
// ----------------------------------------
list_0: [5, 2, 9, 6]
1. list_0: [5, 2, 7, 6]
2. list_0: [5, 7, 6]
4. list_0: [5]
3. list_0: [5, 1, 9]
5. list_0: [5, 1, 9, 8]
6. list_0: [5, 1, 9, 8, 3]
7. list_0: [5, 1, [5, 3], 9, 8, 3]
8. list_0: [5, 1, 1, 2, [5, 3], 9, 8, 3]
list_0.pop(): 3
list_0.pop(): 8
list_0: [5, 1, 1, 2, [5, 3], 9]
list_0.pop(4): [5, 3]
list_0: [5, 1, 1, 2, 9]
기타
- 리스트 요소 개수 구하기: len(list_0) 요소가 5개라면 5 반환
- 리스트 인덱스 구하기: list_0.index(1) list_0에서 첫번째로 나오는 1의 인덱스를 반환
- 리스트 특정 요소 개수 구하기: list_0.count(1) 요소에서 1과 일치하는것의 개수를 반
print(f"// ----------------------------------------")
list_0 = [5, 1, 1, 3, 9]
print(f"list_0: {list_0}")
print(f"list_0.index(1): {list_0.index(1)}")
print(f"len(list_0): {len(list_0)}")
print(f"list_0[:len(list_0)]: {list_0[:len(list_0)]}")
print(f"list_0.count(1): {list_0.count(1)}")
print()
list_0.extend([3, 0])
print(f"list_0: {list_0}")
lenLst0 = len(list_0)
list_0[lenLst0:lenLst0] = ['hi', 'hello']
print(f"list_0: {list_0}")
list_0 = list_0 + ['hi2', 'hello']
print(f"list_0: {list_0}")
print()
// ----------------------------------------
list_0: [5, 1, 1, 3, 9]
list_0.index(1): 1
len(list_0): 5
list_0[:len(list_0)]: [5, 1, 1, 3, 9]
list_0.count(1): 2
list_0: [5, 1, 1, 3, 9, 3, 0]
list_0: [5, 1, 1, 3, 9, 3, 0, 'hi', 'hello']
list_0: [5, 1, 1, 3, 9, 3, 0, 'hi', 'hello', 'hi2', 'hello']
---------------------------------------- 사용한 코드 ----------------------------------------
#!/usr/bin/python3
def main():
print(f"// Making List ")
print(f"// ----------------------------------------")
list_0 = [5 ,2, 9, 6]
list_1 = ['Hello', 100]
list_2 = ['Hello', [3, 4]]
list_3 = ['Hello', list_0]
print(f"list_0: {list_0}")
print(f"list_1: {list_1}")
print(f"list_2: {list_2}")
print(f"list_3: {list_3}")
print()
print(f"// List indexing")
print(f"// ----------------------------------------")
list_0 = [5 ,2, 9, 6]
print(f"list_0: {list_0}")
print(f"1. list_0[0]: {list_0[0]}")
print(f"2. list_0[1]: {list_0[1]}")
print(f"3. list_0[2]: {list_0[2]}")
print()
print(f"// Finding last index value")
print(f"// ----------------------------------------")
list_2 = ['Hello', [3, 4]]
print(f"list_2: {list_2}")
print(f"1. list_2[-1]: {list_2[-1]}")
print(f"2. list_2[-1][-1]: {list_2[-1][-1]}")
print(f"3. list_2[-1][-2]: {list_2[-1][-2]}")
print()
print(f"// List slicing")
print(f"// ----------------------------------------")
list_0 = [5 ,2, 9, 6]
print(f"list_0: {list_0}")
print(f"1. list_0[1:3]: {list_0[1:3]}")
print(f"2. list_0[1:-1]: {list_0[1:-1]}")
print(f"3. list_0[0:-1]: {list_0[0:-1]}")
print(f"4. list_0[0:0]: {list_0[0:0]}")
print(f"5. list_0[0:3]: {list_0[0:3]}")
print(f"6. list_0[:]: {list_0[:]}")
print(f"7. list_0[1:]: {list_0[1:]}")
list_2 = ['Hello', [3, 4]]
print(f"list_2: {list_2}")
print(f"8. list_2[1][:]: {list_2[1][:]}")
print(f"9. list_2[1][1:2]: {list_2[1][1:2]}")
print()
print(f"// List operations")
print(f"// ----------------------------------------")
list_0 = [5 ,2, 9, 6]
list_1 = ['Hello', 100]
print(f"list_0: {list_0}")
print(f"list_1: {list_1}")
print(f"1. list_0 + list_1: {list_0 + list_1}")
print(f"2. 'a' + 'b': {'a' + 'b'}")
print(f"3. list_0 * 2: {list_0 * 2}")
print(f"4. 'a' * 2: {'a' * 2}")
print()
print(f"// List modifying")
print(f"// ----------------------------------------")
list_0 = [5 ,2, 9, 6]
print(f"list_0: {list_0}")
list_0[2] = 7
print(f"1. list_0: {list_0}")
print()
del list_0[1]
print(f"2. list_0: {list_0}")
del list_0[1:]
print(f"4. list_0: {list_0}")
print()
list_0 = list_0 + [1, 9]
print(f"3. list_0: {list_0}")
print()
list_0 = list_0 + [8]
print(f"5. list_0: {list_0}")
list_0.append(3)
print(f"6. list_0: {list_0}")
print()
list_0.insert(2, [5, 3]) # Insert only one element
print(f"7. list_0: {list_0}")
list_0[2:2] = [1, 2] # Insert multiple element
print(f"8. list_0: {list_0}")
print()
print(f"list_0.pop(): {list_0.pop()}")
print(f"list_0.pop(): {list_0.pop()}")
print(f"list_0: {list_0}")
print(f"list_0.pop(4): {list_0.pop(4)}")
print(f"list_0: {list_0}")
print()
print(f"// ----------------------------------------")
list_0 = [5, 1, 1, 3, 9]
print(f"list_0: {list_0}")
print(f"list_0.index(1): {list_0.index(1)}")
print(f"len(list_0): {len(list_0)}")
print(f"list_0[:len(list_0)]: {list_0[:len(list_0)]}")
print(f"list_0.count(1): {list_0.count(1)}")
print()
list_0.extend([3, 0])
print(f"list_0: {list_0}")
lenLst0 = len(list_0)
list_0[lenLst0:lenLst0] = ['hi', 'hello']
print(f"list_0: {list_0}")
list_0 = list_0 + ['hi2', 'hello']
print(f"list_0: {list_0}")
print()
if __name__=='__main__':
main()