출처 : 열혈강의 파이썬
posted by _cham
@리스트의 일반연산
이부분은 걍 넘어가겠다. 앞에서도 기본적인 내용들을 다뤘으므로….
하나 볼게 있다면, 리스트 안에 또 다른 리스트가 포함되어 있을 경우
@@중첩 리스트(Nested Lists)
리스트는 다른 객체를 직접 저장하지 않고, 객체들의 레퍼런스만을 저장한다.
그래서 s의 값을 바꿔도 t의 값도 함께 바껴있다.
구조를 보면
이런식으로…
@리스트의 메쏘드들
@@리스트의 메쏘드
앞에서도 다룬 내용이고 쉬우므로 간단한 예제만 보고 넘어가자
@@리스트를 스택으로 쓰기
간단한 예제를 보고 넘어가자
@원하는 순서대로 정렬하기
@@sorted 내장함수
sort() 함수를 쓰면 정렬된 값을 리턴받을 수 없다. 리턴되는 값이 없기 때문이다
그래서 sorted()라는 내장함수를 사용해야 한다.
역순정렬은 sorted(l, reverse=True) 로 해주면 된다.
@리스트 내장
밑의 이 소스가 위처럼 한줄로 축약될 수 있다.
이 리스트 내장은 함수적 프로그래밍 언어 Haskell에서 따온 것으로 다음의 형태를 가지고 있다.
[ expression for expr in sequence1
for expr2 in sequence2 …
for exprN in sequenceN
if condition ]
이 코드는 밑의 코드와 등등하다.
for expr1 in sequence1:
for expr2 in sequence2:
….
for exprN in sequenceN:
if (condition):
#식의 값을 결과 리스트에 추가
@지역적으로 사용 가능한 이름 리스트 얻기
dir인수에 임의의 객체를 전달하면 그 객체 내에서 활용할 수 있는 어트리뷰트(함수, 변수 등의 이름들)의 리스트를 리턴한다. 모듈에 어떤 함수나 변수가 정의되어 있는가, 클래스에 어떤 메쏘드를 활용할 수 있는가 등의 정보를 쉽게 알 수 있다.
sys와 decimal 모듈 안의 함수와 클래스들을 볼 수 있다.
@디렉토리의 파일 목록 얻기
@@목록 얻기
디렉토리의 파일 목록을 얻으려면 glob 모듈의 glob함수를 사용한다. 결과로 파일명의 리스트를 넘겨준다. 와일드 카드 문자(?, *)을 지원한다.
?는 임의의 문자 1개와 매칭
*는 임의 개수(0개 포함)의 모든 문자와 매칭
[…]는 괄호 안의 임의의 1개 문자와 매칭
@@파일의 추가 정보 알아내기
어떤 파일의 종류를 알아내려면 os.path 모듈의 함수들을 이용할 수 있다.
isfile(path) | path가 일반 파일이면 True 리턴 |
isdir(path) | path가 디렉토리(폴더)이면 True 리턴 |
islink(path) | path가 심볼릭 링크이면 True 리턴 |
ismount(path) | path가 마운트 포인트이면 True 리턴(UNIX) |
exists(path) | path가 존재하면 True 리턴 |
이렇게 소스를 짜서 실행하면
이렇게 결과가 뽑히게 된다.
파일의 크기, 접근 시간 등을 알아낼 수도 있다.
끝ㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌ ㅌㅌㅌㅌㅌ
'Programming' 카테고리의 다른 글
VS2012 MFC 프로젝트 생성 (0) | 2014.07.12 |
---|---|
gcc 기본 (0) | 2014.07.01 |
4장 문자열 (0) | 2011.08.13 |
3장 수치 자료형과 연산자 (0) | 2011.08.08 |
2장 파이썬 문과 기본 자료형 (0) | 2011.08.06 |