๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿง CodingTest

[Python] ๋ฆฌ์ŠคํŠธ์™€ ๋ฐฐ์—ด

by ._.sori 2025. 6. 28.

 

 

์ž๋ฐ”์—์„œ ๋ฐฐ์—ด์„ ๋จผ์ € ๋ฐฐ์› ๋‹ค๋ณด๋‹ˆ,
ํŒŒ์ด์ฌ์—์„œ ์ž๊พธ ๊ฐœ๋…์ด ํ˜ผ๋™๋œ๋‹ค.
์ž๋ฐ”์™€ ํŒŒ์ด์ฌ์˜ ๋ฐฐ์—ด์„ ๋น„๊ตํ•ด๋ณด์ž!



 

 ๋ฐฐ์—ด

  • ๋™์ผํ•œ ์„ฑ๊ฒฉ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฝ๋„๋ก ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ์ผ.
  • ์ผ์ •ํ•œ ์ฐจ๋ก€๋‚˜ ๊ฐ„๊ฒฉ์— ๋”ฐ๋ผ ๋ฒŒ์—ฌ ๋†“์Œ.

 

 


 

 

 

์ž๋ฐ”์—์„œ์˜ ๋ฐฐ์—ด

  • ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด
// ๋ฐฐ์—ด์˜ ๊ธธ์ด์™€ ๊ฐ’์„ ํ•œ ๋ฒˆ์— ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•

int arr[] = {1, 2, 3, 4, 5};

for (int i=0; i<5; i++) {
    System.out.println(i + "๋ฒˆ์งธ ๋ฐฐ์—ด = " + arr[i]);
}

 

 

 

  • ๋ฌธ์ž์—ด ๋ฐฐ์—ด
// ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋จผ์ € ์ •ํ•˜๊ณ  ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

String name[] = new String[5];

name[0] = "๊น€๊ฐ€๋‚˜";
name[1] = "๋ฐ•๋‹ค๋ผ";
name[2] = "์ •๋งˆ๋ฐ”";
name[3] = "์ด์‚ฌ์•„";
name[4] = "๋ฐฑ์ž์ฐจ";

for (int i=0; i<5; i++) {
    System.out.println(i + "๋ฒˆ์งธ ๋ฐฐ์—ด = " + name[i]);
}

์ž๋ฐ”์—์„œ ๋ฐฐ์—ด์€ ๊ณต๊ฐ„์˜ ๊ธธ์ด๋ฅผ ๋ฏธ๋ฆฌ ์ •ํ•ด๋‘”๋‹ค.  ๋ฏธ๋ฆฌ ์ •ํ•ด๋‘” ๊ณต๊ฐ„์˜ ์ด์ƒ์„ ์‚ฌ์šฉํ•˜๋ คํ•˜๋ฉด ์ œ์•ฝ์ด ์ƒ๊ฒจ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.  ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๋Š˜๋ฆฌ๊ณ  ์‹ถ์œผ๋ฉด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ์ด๋Ÿฐ ์ ์ด ๋ถˆํŽธํ•˜์—ฌ ์ž๋ฐ”๋Š” ๋ณด์™„ํ–ˆ์œผ๋ฉฐ ๊ทธ๊ฒŒ ์ž๋ฐ” ์ปฌ๋ ˆ์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜์ธ ArrayList์ด๋‹ค. ArrayList๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธธ์ด๋ฅผ ๊ฐ€๋ณ€์ ์œผ๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 


 

 

 

 ํŒŒ์ด์ฌ์˜ ๋ฐฐ์—ด

  • ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ฐฐ์—ด์˜ ๊ฐœ๋…์œผ๋กœ ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

♣ ๋ฆฌ์ŠคํŠธ

  • ๋ฆฌ์ŠคํŠธ๋Š” ํ•˜๋‚˜์˜ ์ž๋ฃŒํ˜•์ด ์•„๋‹Œ ์—ฌ๋Ÿฌ ์ž๋ฃŒํ˜•์ด ๋“ค์–ด๊ฐ€๋„ ๊ดœ์ฐฎ๋‹ค.
name = ["๊น€๊ฐ€๋‚˜", "๋ฐ•๋‹ค๋ผ", "์ •๋งˆ๋ฐ”", "์ด์‚ฌ์•„", "๋ฐฑ์ž์ฐจ"]
student = ["๊น€๊ฐ€๋‚˜", 1, "๋ฐ•๋‹ค๋ผ", 2,"์ •๋งˆ๋ฐ”", 3, "์ด์‚ฌ์•„", 4, "๋ฐฑ์ž์ฐจ", 5]

# end๋Š” ์ถœ๋ ฅ๋œ ๊ฒฐ๊ณผ ๋์„ ์ง€์ •ํ•˜๋ฉฐ
# \n์€ ๊ทธ ๋‹ค์Œ ์ค„๋กœ ์ปค์„œ๋ฅผ ๋„˜๊ธด๋‹ค.
print(name, end ="\n")
print(student)
number = []

for _ in range(5): 
    value = int(input("๊ฐ’์„ ์ž…๋ ฅํ•˜์„ธ์š”: "))
    number.append(value)

print("์ž…๋ ฅ๋œ ๊ฐ’:", number, end="\n")

 

 

 

♣ ๋ฆฌ์ŠคํŠธ์— ์›์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ

  • ์ž๋ฐ”์˜ ๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅด๊ฒŒ ํŒŒ์ด์ฌ์˜ ๋ฆฌ์ŠคํŠธ๋Š” ๊ณต๊ฐ„์˜ ๊ธธ์ด ์ œ์•ฝ์ด ์—†๋‹ค.
  • append( ) ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๊ธธ์ด๋ฅผ ๋Š˜๋ฆด ์ˆ˜ ์žˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ๊ฐ’์€ ๋งจ ๋์— ์ถ”๊ฐ€๋œ๋‹ค.
score = [91, 23, 87, 48, 64, 78]

print("๊ฒฐ๊ณผ: ")
print(score, end="\n")

score.append(20)

print("์ถ”๊ฐ€ํ•œ ๊ฒฐ๊ณผ: ")
print(score, end="\n")

 

 

 

 ๋ฆฌ์ŠคํŠธ์˜ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์›์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ

  • insert( ) ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์€ ์œ„์น˜์— ๊ฐ’์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.
score = [91, 23, 87, 48, 64, 78]

print("๊ฒฐ๊ณผ: ")
print(score, end="\n")

# ๋ฆฌ์ŠคํŠธ๋Š” 0๋ฒˆ์งธ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค.
# ์ฝ”๋“œ๋Š” 1๋ฒˆ์งธ์— 20์ด๋ž€ ๊ฐ’์„ ๋„ฃ๋„๋ก ์ง€์ •ํ–ˆ๋‹ค.
score.insert(1, 20)

print("์ถ”๊ฐ€ํ•œ ๊ฒฐ๊ณผ: ")
print(score, end="\n")

 

 

 

 ๋ฆฌ์ŠคํŠธ์˜ ์›์†Œ๊ฐ’์„ ๋„ฃ์–ด ์‚ญ์ œํ•˜๊ธฐ

  • remove( ) ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์›์†Œ๊ฐ’์„ ์ง€์ •ํ•˜์—ฌ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
score = [91, 23, 87, 48, 64, 78]

print("๊ฒฐ๊ณผ: ")
print(score, end="\n")

score.remove(91)

print("๋ฐ”๋€ ๊ฒฐ๊ณผ: ")
print(score, end="\n")

 

 

 

 ๋ฆฌ์ŠคํŠธ์˜ ์ธ๋ฑ์Šค ๊ฐ’์„ ์ง€์ •ํ•˜์—ฌ ์‚ญ์ œํ•˜๊ธฐ

  • del( ) ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์ธ๋ฑ์Šค ๊ฐ’์„ ๋„ฃ์–ด ํ•ด๋‹น ์ธ๋ฑ์Šค๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
score = [91, 23, 87, 48, 64, 78]

print("๊ฒฐ๊ณผ: ")
print(score, end="\n")

del score[0]

print("๋ฐ”๋€ ๊ฒฐ๊ณผ: ")
print(score, end="\n")

 

 

 

 ๋ฆฌ์ŠคํŠธ ์ „์ฒด ์‚ญ์ œํ•˜๊ธฐ

  • clear( ) ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ ์ „์ฒด๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
score = [91, 23, 87, 48, 64, 78]

print("๊ฒฐ๊ณผ: ")
print(score, end="\n")

score.clear()

print("๋ฐ”๋€ ๊ฒฐ๊ณผ: ")
print(score, end="\n")

 

 

 

 ๋ฆฌ์ŠคํŠธ ์ •๋ ฌํ•˜๊ธฐ

  • sort( ) ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ, ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๊ฐ€๋Šฅํ•˜๋‹ค.
  • sort( ) ํ•จ์ˆ˜๋Š” ๋ฆฌ์ŠคํŠธ ์ž์ฒด๊ฐ€ ์ •๋ ฌ๋œ๋‹ค.
  • sorted( ) ํ•จ์ˆ˜๋Š” ๋ฆฌ์ŠคํŠธ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€๋œ๋‹ค.
  • sort( ) : ๋‚ด๋ฆผ์ฐจ์ˆœ
  • sort(reverse=True) : ์˜ค๋ฆ„์ฐจ์ˆœ
score = [91, 23, 87, 48, 64, 78]

print("๊ฒฐ๊ณผ: ")
print(score, end="\n")

score.sort()

print("๋ฐ”๋€ ๊ฒฐ๊ณผ: ")
print(score, end="\n")

 

  • sorted( )
score = [91, 23, 87, 48, 64, 78]

print("๊ฒฐ๊ณผ: ")
print(score, end="\n")

print("๋ฐ”๋€ ๊ฒฐ๊ณผ: ")
sorted(score)

 

 

 

 ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ

  • ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ฅผ ์ง€์ •ํ•˜์—ฌ ์›ํ•˜๋Š” ๊ณณ๋งŒ ์ถœ๋ ฅ๋˜๋„๋ก ํ•œ๋‹ค.
  • [์‹œ์ž‘ ๋ฒˆํ˜ธ : ๋ ๋ฒˆํ˜ธ]์˜ ํ˜•ํƒœ๋กœ ์ ๋Š”๋ฐ, ์ด๋•Œ ๋ ๋ฒˆํ˜ธ๋Š” ์ถ”๊ฐ€๋˜์ง€ ์•Š์œผ๋‹ˆ ์ฃผ์˜ํ•œ๋‹ค.
score = [91, 23, 87, 48, 64, 78]
print(score[0:3])

0๋ฒˆ์งธ๋Š” 91, 1๋ฒˆ์งธ๋Š” 23, 2๋ฒˆ์งธ๋Š” 87, 3๋ฒˆ์งธ๋Š” 48, 4๋ฒˆ์งธ๋Š” 64, 5๋ฒˆ์งธ๋Š” 7์ด๋‹ค. score[0:3]์€ 0๋ฒˆ์งธ์—์„œ 3๋ฒˆ์งธ ์•ž์ธ 2๋ฒˆ์งธ๊นŒ์ง€ ๋งํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ถœ๋ ฅ๋œ ๊ฐ’์ด 91, 23, 87์ด ๋œ๋‹ค.

 

 

 

 ๋ฆฌ์ŠคํŠธ ๋’ค์ง‘๊ธฐ

  • reverse( ) ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋’ค์ง‘์„ ์ˆ˜ ์žˆ๋‹ค.
  • reversed( ) ํ•จ์ˆ˜๋„ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋’ค์ง‘๋Š” ๊ฒฐ๊ณผ๊ฐ€ reverse( )์™€ ๋™์ผํ•˜์ง€๋งŒ, revsered( )๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ’ ์ž์ฒด๋ฅผ ๋ณ€๋™์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค.
score = [91, 23, 87, 48, 64, 78]
print("์ฒซ๋ฒˆ์งธ ๊ฒฐ๊ณผ: ")
print(score, end="\n")

print("reverse ๊ฒฐ๊ณผ: ")
score.reverse()
print(score, end="\n")

print("reversed ๊ฒฐ๊ณผ: ")
list(reversed(score))

 

 

 

 ๋ฆฌ์ŠคํŠธ์˜ ์ธ๋ฑ์Šค ์œ„์น˜ ์ฐพ๊ธฐ

  • ์›์†Œ๊ฐ’์ด ์–ด๋А ์œ„์น˜์— ์žˆ๋Š”์ง€ ์•Œ๊ณ  ์‹ถ์„ ๋•Œ index( ) ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฐพ๋Š”๋‹ค.
score = [91, 23, 87, 48, 64, 78]
print("์ฒซ๋ฒˆ์งธ ๊ฒฐ๊ณผ: ")
print(score, end="\n")

print("index ๊ฒฐ๊ณผ: ")
score.index(87)

 

 

 

 ๋ฆฌ์ŠคํŠธ ์›์†Œ๊ฐ’ ๊บผ๋‚ด๊ธฐ

  • ๋ฆฌ์ŠคํŠธ์˜ ์›์†Œ๊ฐ’์„ ๊บผ๋‚ด๊ธฐ ์œ„ํ•ด pop( ) ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • pop( )์€ ๋งˆ์ง€๋ง‰ ์›์†Œ๋ถ€ํ„ฐ ๊บผ๋‚ธ๋‹ค.
score = [91, 23, 87, 48, 64, 78]
print("์ฒซ๋ฒˆ์งธ ๊ฒฐ๊ณผ: ")
print(score, end="\n")

print("pop ๊ฒฐ๊ณผ: ")
score.pop()
print(score)

 

 

 

๋ฆฌ์ŠคํŠธ์™€ ๋ฆฌ์ŠคํŠธ ํ•ฉ์น˜๊ธฐ

  • ํ•˜๋‚˜์˜ ๋ฆฌ์ŠคํŠธ์™€ ๋˜ ๋‹ค๋ฅธ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•ฉ์ณ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•ด extend( ) ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

score = [91, 23, 87, 48, 64, 78]
print("์ฒซ๋ฒˆ์งธ ๊ฒฐ๊ณผ: ")
print(score, end="\n")

name = ["๊น€", "์ด", "๋ฐ•", "์„œ", "์ •", "๋ฐฑ"]
score.extend(name)
print(score)

 

 

 

 ๋ฆฌ์ŠคํŠธ ๋ณต์‚ฌํ•˜๊ธฐ

  • ์–•์€ ๋ณต์‚ฌ
  • ์–•์€ ๋ณต์‚ฌ๋Š” ๋ณต์‚ฌํ•  ๋ฆฌ์ŠคํŠธ์˜ id๊นŒ์ง€ ๋ณต์‚ฌํ•œ๋‹ค.
  • import copy ํ›„ ์ƒˆ๋ฆฌ์ŠคํŠธ๋ช….copy.copy(๋ณต์‚ฌํ• ๋ฆฌ์ŠคํŠธ๋ช…)์œผ๋กœ ์จ๋„ ๋œ๋‹ค.
score = [91, 23, 87, 48, 64, 78]
print("score ๊ฒฐ๊ณผ: ")
print(score)

score_copy = score
print("copy ๊ฒฐ๊ณผ: ")
print(score_copy)

print(id(score))
print(id(score_copy))

print(score == score_copy)
print(score is score_copy)

 

 

  • ๊นŠ์€ ๋ณต์‚ฌ
  • ๊นŠ์€ ๋ณต์‚ฌ๋Š” ๋‹ค๋ฅธ ๋ณ€์ˆ˜์— ๊ฐ™์€ ๊ฐ’๋งŒ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
import copy

score = [91, 23, 87, 48, 64, 78]
print("score ๊ฒฐ๊ณผ: ")
print(score)

score_copy = copy.deepcopy(score)
print("copy ๊ฒฐ๊ณผ: ")
print(score_copy)

print(id(score))
print(id(score_copy))

print(score == score_copy)
print(score is score_copy)

 

 

 

 ๊ทธ ์™ธ ๋ฆฌ์ŠคํŠธ ํ•จ์ˆ˜

  • ๋ฆฌ์ŠคํŠธ์˜ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๋Š” len( ) ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค.
    ex) len(score)
  • ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•˜์—ฌ ์›์†Œ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
    ex) score[0] = 23
  • ํŠน์ • ์›์†Œ๊ฐ€ ๋ฆฌ์ŠคํŠธ ๋‚ด์— ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ์„ธ๋Š” count( ) ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค.
    ex) score.count(23)