본문 바로가기

Programming

5장 리스트

출처 : 열혈강의 파이썬

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