Comments (4)
제가 답글을 남기는게 조금 주제 넘을 수도 있지만 제가 아는 선에서 말씀을 드리자면 해당 오류는 자료형이 맞지 않거나 함수 호출 규약을 틀렸을 경우에 나타나는 오류로 알고 있습니다. 예를 들어 s = ["h","e","l","l","o"]
이런식의 문자 배열 형태를 가지고 있어야 s[:] = s[::-1]
와 같은 슬라이싱이 가능하다고 생각합니다.
제가 글쓴분의 전체적인 코드를 알 수 없어 정확하게 답변은 불가능 하지만 간단하게 예시를 들자면,
s = "hello"
위와 같은 경우에는 s[0]
또는 s[1]
그리고 s[1:3]
과 같은 슬라이싱은 가능하지만 s[:] = s[::-1]
와 같은 문자열 변경은 불가능합니다.
위와 같은 형식으로 코드를 사용하셨다면 s = s[::-1]
로 하시면 오류없이 실행이 됩니다.
s = ["h","e","l","l","o"]
s[:] = s[::-1]
이런 경우처럼 입력값을 문자 배열로 사용하셨다면 가능합니다.
부족한 설명 들어주셔서 감사합니다.
(죄송합니다 저의 설명에 오류가 있어 수정 하였습니다.)
from python-algorithm-interview.
네, 답변 감사합니다.
말씀하신 것처럼 저는 문자열에 대한 슬라이싱인 줄 알았는데,
지금 책을 다시 보니 다음 문구를 제대로 못봤네요.
"만약 입력값이 문자열이라면 앞서 살펴본 바와 같이 문자열 슬라이싱을 사용할 수 있다.
슬라이싱은 리스트에도 사용할 수 있으며, 성능 또한 매우 좋다.
s = s[ : :-1]"
from python-algorithm-interview.
@legendhangkali 답변 감사드립니다.
말씀하신대로 책 p146에서 s
는 List
입니다. 그래서 s[:] = s[::-1]
가 가능하지만 아마 @hwangjeongwoo 님이 작성하신 코드에서는 s
를 str
로 선언한 것으로 보입니다. str
은 불변 객체(immutable object, p110 참고)로 변수내의 값을 조작할 수 없습니다. s = s[::-1]
이런 형태로 완전한 재할당만 가능합니다.
감사합니다.
from python-algorithm-interview.
네, 확인 감사드립니다!!
from python-algorithm-interview.
Related Issues (20)
- p257 스택을 이용한 큐 구현 HOT 1
- p.161 전체 코드 질문입니다. HOT 1
- p.233 페이지 18번 홀짝 연결 리스트 문제 관련 문의 입니다. HOT 1
- 67번 문제 질문입니다(leetcode 349) HOT 2
- 13번 팰린드롬 연결리스트 문제 runtime HOT 1
- p450 힙 구현에서 _percolate_up 함수 분기 HOT 1
- p. 578 문법 질문 드립니다 HOT 1
- p.696 5번줄 오타 HOT 1
- p. 581: `77. 가장 긴 반복 문자 대체` - 좀 더 가독성이 높은 코드 질문 HOT 1
- 26번 원형 데크 디자인 문제 깃허브 코드 오타
- 57번 문제 팰린드롬 페어 HOT 1
- 60번 1번 풀이 질문드립니다! HOT 1
- p. 307: `31. 상위 K 빈도 요소` - 최적화 & 파이써닉한 코드 질문 HOT 2
- P640 오타 HOT 1
- P391페이지 6번째줄 질문드립니다 HOT 1
- 31번 상위 K 빈도 요소 HOT 1
- 60번 삽입정렬 리스트 1번 풀이 질문 HOT 1
- [49]Group Anagrams 풀이 질문 HOT 1
- 이진 힙 vs 이진 탐색 트리 HOT 1
- 612p, 615p 83. 과반수 엘리먼트 구하는 문제. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from python-algorithm-interview.