인프런 커뮤니티 질문&답변

민준 강님의 프로필 이미지
민준 강

작성한 질문수

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

리스트(3-1) : 집합 구조의 첫 걸음은 리스트 자료형

List 출력오류 관련 문의 드립니다.

작성

·

75

0

안녕하세요 파이썬 Chapter 03-3에서 질문있어서 문의드립니다.코드 실행시, b = list() 와 print('e - ', list(e[-1][1])) 에서 TypeError : 'list' object is not callable 이라는 오류가 뜨는데 어떻게 해결하는지 궁금합니다.

답변 1

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

네 안녕하세요. 민준님

전체 소스코드를 올려주시겠어요?

감사합니다.

민준 강님의 프로필 이미지
민준 강
질문자

# Chapter03-01
# 숫자형

#파이썬 지원 자료형

'''
 int : 정수
 float : 실수
 complex : 복소수
 bool : 불린
 str : 문자열(시퀀스)
 list : 리스트(시퀀스)
 tuple : 튜플(시퀀스)
 set : 집합
 dict : 사전
 '''

# 데이터 타입

str1 = "Python"
bool = True
str2 = 'Anaconda'
float = 10.0
int = 7
list = [str1, str2]

dict = {
    "name" : "Machine Learning",
    "version" : 2.0
}
tuple = (7, 8, 9)
set = {7, 8, 9}




# 데이터 타입 출력

print(type(str1))
print(type(bool))
print(type(str2))
print(type(float))
print(type(int))
print(type(dict))
print(type(tuple))
print(type(set))


# 숫자형 연산자

'''
+
-
*
/
// : 몫
% : 나머지
abs(x) : 절댓값
pow(x, y) : x**y -> 2**3 : pow(2, 3) 
'''

# 정수 선언

i = 77
i2 = 14
big_int = 99999999999999999

# 정수 출력

print(i)
print(i2)
print(big_int)
print()
print()


# 실수 출력

f = 0.9999
f2 = 3.141592
f3 = -0.39
f4 = 3/9

print(f)
print(f2)
print(f3)
print(f4)
print()
print()


# 연산실습

i1 = 39
i2 = 9898
big_int1 = 8888888888333333
big_int2 = 999999983333333338
f1 = 1.234
f2 = 3.999


# +

print(">>>>+")
print("i1 + i2 : ", i1 + i2)
print("f1 + f2 : ", f1 + f2)
print("big_int1 + big_int2 : ", big_int1 + big_int2)


# *

print(">>>>*")
print("i1 * i2 : ", i1 * i2)
print("f1 * f2 : ", f1 * f2)
print("big_int1 * big_int2 : ", big_int1 * big_int2)
print()
print()

# 형 변환 실습

a = 3.
b = 6
c = .7
d = 12.7

# 타입 출력

print(type(a),  type(b), type(c), type(d))
print()
print()


# 형 변환

'''print(float(b))''' 
'''print(int(c)) 
print(int(d)) 
print(int(True))'''
'''print(float(False))'''
print(complex(3))
print(complex('3')) #문자형 --> 숫자형
print(complex(False))
print()
print()


#수치연산 함수

print(abs(-7))

x, y = divmod(100, 8) # x는 몫, y는 나머지 할당됨

print(x, y) # x = 12, y = 4
print()

print(pow(5, 3), 5**3)
print()


# 외부 모듈(패키지)
import math

print(math.ceil(5.1)) # x 이상의 수 중에서 가장 작은 정수
print(math.pi)
 

# Chapter03-2
# 파이썬 문자형
# 문자형 중요

# 문자열 생성
str1 = "I am Python"
str2 = 'Python'
str3 = """How are you?"""
str4 = '''Thank you'''

print(type(str1)), print(type(str2)), print(type(str3)), 
print(type(str4)), print(len(str1), len(str2), len(str3), len(str4))

# 빈 문자열
str_t1 = ''
str_t2 = str()

print(type(str_t1), len(str_t2))
print(type(str_t2), len(str_t1))


# 이스케이프 문자 사용

"""
 참고 : Escape 코드
 \n : 개행
 \t : 탭
 \\ : 문자
 \' : 문자
 \" : 문자
 \000 : 널 문자
 """

# I'm a boy

print("I'm a boy")
print('I\'m a boy')
print()
print('a\t b')
print('a\n b')
print('a \"\" b')


escape_str1 = "Do you have a \"retro games \"?"
print(escape_str1)
escape_str2 = 'what\'s on TV'
print(escape_str2)
print()
print()


# 탭 줄 바꿈
t_s1 = "Click \t Start!"
t_s2 = "New line \nCheck!"

print(t_s1)
print(t_s2)
print()


# Raw string
raw_s1 = r'D:\python\test'

print(raw_s1)


# 멀티라인 입력
multi_str = \
"""
String
Multi Line
Test"""

print(multi_str)
print()
print()


# 문자열 연산
str_o1 = "Python"
str_o2 = "C++"
str_o3 = "HTML"
str_o4 = "R"

print(str_o1*3)
print(str_o1 + str_o2)
print('M' in str_o4)
print('H' not in str_o4)
print()
print()


# 문자열 형변환
print(str(66), type(str(66)))
print(str(10.1))
print(str(True), type(str(True)))



# 문자열 함수

print("Capitalize: ", str_o1.capitalize())
print("endswith?: ", str_o2.endswith("+"))
print("replace: ", str_o3.replace("TML", 'itomi'))
print("sorted: ", sorted(str_o1))
print("split: ", str_o1.split('t'))


# 반복(시퀀스)
im_str = "Good Boy!"

print(dir(im_str)) #__iter__

# 출력
for i in im_str:
    print(i)


# 슬라이싱
str_s1 = "Nice Python"

# 슬라이싱 연습
print(str_s1[0:3]) # 3-1 : 0, 1, 2
print(str_s1[5:11])
print(str_s1[5:])# 5부터 끝까지
print(str_s1[:11])# 처음부터 11까지
print(str_s1[:len(str_s1)])
print(str_s1[:len(str_s1)-4])
print(str_s1[0:11:3]) # 0부터 11까지 3개단위로 가져와라
print(str_s1[-5:])
print(str_s1[1:-2])
print(str_s1[::2])
print(str_s1[::-1]) # 역순



# 아스키 코드(또는 유니코드)
a = 'z'

print(ord(a)) # 아스키 코드로
print(chr(122)) # 문자로
print()
print()




# Chapter 03-3
# 파이썬 리스트 
# 자료구조에서 중요
# 리스트 자료형( 순서O, 중복O, 수정O, 삭제O 유일한 자료형)

#선언
a = []
#b = list()
c = [70, 75, 80, 85] #len
d = [1000, 10000, 'Ace', 'Base', 'captine']
e = [1000, 10000, ['Ace', 'Base', 'captine']]
f = [21.42, 'foobar', 3, 4, False, 3.141592]

# 인덱싱
print('>>>>')
print('d - ', d[1])
print('d - ', d[0] + d[1] + d[1])
print('d - ', d[-1])
print('e - ', e[-1][1])
print('e - ', type(e[-1][1]))
#print('e - ', list(e[-1][1]))
print('e - ', type(e[-1][1]))

# 슬라이싱
print('>>>>')
print('d - ', d[0:3])
print('d - ', d[2:])
print('e - ', e[-1][1:3])

# 리스트 연산
print('>>>>>')
print('c + d', c + d)
print('c * 3', c * 3) # 리스트를 연산하면 리스트가 결과로
print("'Test' + c[0] : ", 'Test' + str(c[0]))


# 값 비교
print(c == c[:3] + c[3:])
print(c)
print(c[:3] + c[3:])
print()
print()


# Identity(id)

temp = c
print(temp, c)
print(id(temp))
print(id(c))


# 리스트 수정, 삭제

print('>>>>>')
c[0] = 4
print('c - ', c)
c[1:2] = ['a', 'b', 'c']
print('c - ', c)
#c[1] = ['a', 'b', 'c']
#print('c - ', c)
c[1:3] = []
print('c - ', c)
del c[2]
print('c - ', c)


# 리스트 함수
a = [5, 2, 3, 1, 4]

print('a - ',a)

a.append(10)
print('a - ',a)
a.sort()
print('a - ',a)
a.reverse()
print('a - ',a)
print()
print()


print('a - ', a.index(3), a[3])
a.insert(2, 7)
print('a - ',a)
a.sort()
print('a - ',a)
# del a[6]
a.insert(0, 10)
a.insert(3, 10)
print('a - ',a)
#a.remove(10)
print('a - ', a)
#print('a - ', a.pop())
#print('a - ', a)
#print('a - ', a.pop())
print('a - ', a.count(10))

ex = [8, 9]
a.extend(ex)
print('a - ', a)

# remove, pop, del : 삭제

while a: 
    data = a.pop()
    print(data)
print()
print()
print()


# Chapter 03-4
# 파이썬 튜플
#리스트와 비교 중요
# 튜블 자료형( 순서o, 중복o, 수정x, 삭제x) # 불변

# 선언

a = ()
b = (1,)
c = (11, 12, 13, 14)
d = (100, 1000, 'Ace', 'Base', 'Captine')
e = (100, 1000, ('Ace', 'Base', 'Captine'))

# 인덱싱
print('>>>>')
print('d - ', d[1])
print('d - ', d[0] + d[1] + d[1])
print('d - ', d[-1])
print('d - ', e[-1])
print('d - ', e[-1][1])
print('d - ', e[-1][1])

# 수정X?

# d[0] = 1500
print('>>>>')
print('d - ', d[0:3])
print('d - ', d[2:])
print('d - ', e[2][1:3])

# 튜플 연산
print('>>>>>')
print('c + d', c + d)
print('c * 3', c * 3)

# 튜플 함수
a = (5, 2, 3, 1, 4)
print('a - ', a)
print('a - ', a.index(3))
print('a - ', a.count(2))

# 패킹&언패킹 

# 패킹
t = ('foo', 'bar', 'baz', 'qux') # 4개의 원소를 하나로 묶은것

print(t)
print(t[0])
print(t[-1])


# 언패킹
(x1, x2, x3, x4) = t

print(type(x1), type(x2), type(x3), type(x4))
print(x1, x2, x3, x4)


# 패킹 & 언패킹
t2 = 1, 2, 3
t3 = 4, 
x1, x2, x3 = t2
x4, x5, x6 = (4, 5, 6)
print(t2)
print(t3)
print(x1, x2, x3)
print(x4, x5, x6)


# Chapter 03-5
# 파이썬 딕셔너리
# 범용적으로 가장 많이 사용
# 딕셔너리 자료형(순서X, 키 중복X, 수정O, 삭제O)

# 선언
a = {'name' : 'Kong', 'phone' : '01059608875', 'birth' : '050316'}
b = {0: 'Hello Python'}
c = {'arr' : [1, 2, 3, 4]}
d = {
    'Name' : 'Niceman',
    'City' : 'Seoul',
    'Grade': 'C+',
    'Status': 'True'
}
print(d)
e = dict([
    ('Name' , 'Niceman'),
    ('City' , 'Seoul'),
    ('Grade', 'C+'),
    ('Status', 'True')
])
print(e)
f = dict(
    Name = 'Niceman',
    City = 'Seoul',
    Age = 20,
    Grade = 'C+',
    Status = 'True'
)
print(f)






















































































민준 강님의 프로필 이미지
민준 강
질문자

전체 소스 코드 올렸습니다!
민준 강님의 프로필 이미지
민준 강

작성한 질문수

질문하기