본문 바로가기
PROGRAMING📚/Python📑

[Python] 리스트 List

Ta이니 2024. 11. 24.
728x90
반응형

Python - List

print("1. List(다양한 자료형을 순차적으로 저장하는 집합적 자료형")
l = list()
print(id(l)) #id(): hash code의 값을 불러옴

l=[1,2,3] #list를 새로 초기화
print(id(l))
print(l, type(l))

1. List(다양한 자료형을 순차적으로 저장하는 집합적 자료형
2829492484288
2829490917760
[1, 2, 3] <class 'list'>

💡

insert(인덱스, 값)는 index를 활용해서 추가한다

append(값) 는 리스트의 끝 부분부터 추가한다

l=[]
for i in range(0,10):
  #l[i] = i
  l.append(i)
  l.insert(i,i+1)
print(f"l : {l}")
print(f"id(l) : {id(l)}")
print(f"l[0:3] : {l[0:3]}")
print(f"l[5:15] : {l[5:15]}")
print(f"len(l) : {len(l)}")

id(l) : 2609011431616
l[0:3] : [1, 2, 3]
l[5:15] : [6, 7, 8, 9, 10, 0, 1, 2, 3, 4]
len(l) : 20

from ex01Grammar import Bomb
l[0] = True
l[1] =10
l[2] ="A"
l[3] =Bomb.Bomb()
print(l)

[True, 10, 'A', <Bomb(Thread-1, initial)>, 5, 6, 7, 8, 9, 10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

  def __str__(self):
    return "폭탄"

from ex01Grammar import Bomb
l[0] = True
l[1] =10
l[2] ="A"
l[3] =Bomb.Bomb()
print(l)
print(l[3])

[True, 10, 'A', <Bomb(Thread-1, initial)>, 5, 6, 7, 8, 9, 10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
폭탄

List.reverse()

# 인덱스 역순으로 출력하기 
for i in range(len(l)-1, -1, -1):
  print(l[i], end=", ")
print()

# 리스트 자체를 역 정렬함
l.reverse()
print(l)
print(l.count(10)) #리스트에 포함된 갯수

9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 10, 9, 8, 7, 6, 5, 폭탄, A, 10, True,
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 10, 9, 8, 7, 6, 5, <Bomb(Thread-1, initial)>, 'A', 10, True]

pop/ push

print(l)
print(l.count(10))#리스트에 포함된 갯수
print(l.pop()) # 리스트의 맨끝에 자료 삭제와 출력
print(l.pop(0)) # 리스트의 인덱스 자료 삭제와 출력
print(l)

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 10, 9, 8, 7, 6, 5, <Bomb(Thread-1, initial)>, 'A', 10, True]
2
True
9
[8, 7, 6, 5, 4, 3, 2, 1, 0, 10, 9, 8, 7, 6, 5, <Bomb(Thread-1, initial)>, 'A', 10]

remove / del

l.remove(1)
print(l)
l.remove('A')
print(l)
del l[3] # 인덱스로 못 찾으면 에러 
print(l)

[8, 7, 6, 5, 4, 3, 2, 1, 0, 10, 9, 8, 7, 6, 5, <Bomb(Thread-1, initial)>, 'A', 10]
[8, 7, 6, 5, 4, 3, 2, 0, 10, 9, 8, 7, 6, 5, <Bomb(Thread-1, initial)>, 'A', 10]
[8, 7, 6, 5, 4, 3, 2, 0, 10, 9, 8, 7, 6, 5, <Bomb(Thread-1, initial)>, 10]
[8, 7, 6, 4, 3, 2, 0, 10, 9, 8, 7, 6, 5, <Bomb(Thread-1, initial)>, 10]

copy()

l_copy = l.copy()
print(l_copy)

[8, 7, 6, 4, 3, 2, 0, 10, 9, 8, 7, 6, 5, <Bomb(Thread-1, initial)>, 10]

2차원 리스트 생성하기

print('----------------------------------------------------------------')
list_2d =[
  ['강길동',100,90,100],
  ['김길동',70,90,100],
  ['고길동',100,70,90]
]
print(list_2d)
for row in list_2d:
  for col in row:
    print('%3s' %(col), end=' ')
  print()

[['강길동', 100, 90, 100], ['김길동', 70, 90, 100], ['고길동', 100, 70, 90]]
강길동 100 90 100
김길동 70 90 100
고길동 100 70 90

for row in list_2d:
  for col in row:
    print('%-3s' %(col), end=' ')
  print()

for row in range(len(list_2d)):
  for col in range(len(list_2d[row])):
    print('%-3s' %(col), end=' ')
  print()

강길동 100 90 100
김길동 70 90 100
고길동 100 70 90

extend() : 리스트 추가

a=[1,2,3]
b= list(range(4,7))
c = a+b
print(c)

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

print()
a=[1,2,3]
b= list(range(4,7))
c = a+b
print(c)
d= [7,8,9]
d.extend(c)
print(d)

[1, 2, 3, 4, 5, 6]
[7, 8, 9, 1, 2, 3, 4, 5, 6]

a=[1,2,3]
b= list(range(4,7))
c = a+b
print(c)
d= [7,8,9]
c.extend(d)
print(c)

[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7, 8, 9]

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[8, 2, 5, 0, 4, 9, 1, 7, 6, 3]

clear() :리스트 삭제

c.clear()
print(c)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[]

sort() : 리스트 정렬

Shuffle : 리스트 섞기

c.insert(0,0)
print(c)
for i in range(len(c)):
  rand = int(random.random()*10)
  c[i], c[rand] = c[rand],c[i]
print(c)
728x90
반응형

'PROGRAMING📚 > Python📑' 카테고리의 다른 글

Python-Set  (0) 2024.11.26
[Python]Tuple  (0) 2024.11.25
[Python]반복문 roof  (0) 2024.11.23
Python - Operator(연산)  (0) 2024.11.22
[Python]condition - 조건문  (0) 2024.11.16

댓글