목록을 트래버스
트래버스에 사용.
$ cat months.py
months=['jan','feb','march']
# 注意,months后的冒号(:)是必需的
for month in months:
# print之前必须缩进
print(month)
특별한주의 공백 일 또는 그 이전에 문을 인쇄해야 <tab>
, 키 수 쓰지 머리, 그렇지 않으면 오류 :
$ python3 months.py
File "months.py", line 3
print(m.title())
^
IndentationError: expected an indented block
결과는 다음과 같습니다 :
$ python3 months.py
jan
feb
march
또한 :
$ cat months.py
months=['jan','feb','march']
for month in months:
print(f"the current month is {month.title()}.")
$ python3 months.py
the current month is Jan.
the current month is Feb.
the current month is March.
문 루프 대역 압입하면, 반복 실행한다 후 기록 (덴트) 내지 제 상단 행은 한번만 수행하는 경우.
$ cat months.py
months=['jan','feb','march']
for month in months:
print(f"the current month is {month.title()}.")
print('in loop')
print('not in loop')
$ python3 months.py
the current month is Jan.
in loop
the current month is Feb.
in loop
the current month is March.
in loop
not in loop
다음 코드 런타임 오류 :
$ cat months.py
months=['jan','feb','march']
for month in months:
print(f"the current month is {month.title()}.")
print('not in loop')
print('in loop')
$ python3 months.py
File "months.py", line 5
print('in loop')
^
IndentationError: unexpected indent
피 들여 쓰기 (식별) 오류
파이썬은 코드의 해당 라인 코드를 읽기 쉽게하기 위해 여부 들여 해석을 사용합니다.
for 루프 후 문은 적어도 하나 개의 라인을 들여해야 있습니다. 당신은 다중 행주기가 필요한 경우, 이러한 행은 들여 쓰기. 이것은 C 언어입니다 {
및 }
코드 블록과 유사하다.
불필요한 들여 부여되고 :
>>> a=1
>>> print(a)
File "<stdin>", line 1
print(a)
^
IndentationError: unexpected indent
for 루프에서 불필요한 들여 쓰기 논리 오류가 발생합니다.
마지막으로, 대장의 마지막 루프 ( :
)가 필요합니다.
번호 목록
다양한 기능을 사용하십시오.
>>> for i in range(1,5):
... print(i)
...
1
2
3
4
범위 함수는 스텝 값 (스텝 사이즈)를 지정할 수있다 :
>>> for i in range(1, 11, 2):
... print(i)
...
1
3
5
7
9
주 5과 5에서 정지를 의미하기 때문에, 인쇄되지 않습니다.
함수 반환 값이기 때문에, 따라서 범위 할당리스트하는데 사용될 수있다 :
>>> numbers=range(1,5)
>>> print(numbers)
[1, 2, 3, 4]
다음과 같은 기능을 평방 미터, 인쇄 **
제곱을 나타내는를, 또 다른 초기화 목록은 첫 번째 줄 필요가 비어 있습니다 :
$ cat squares.py
squares = []
for value in range(1, 11):
squares.append(value ** 2)
print(squares)
$ python squares.py
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
통계 함수의 일부 :
>>> nums = [ 1, 2, 3, 4 ]
>>> min(nums)
1
>>> max(nums)
4
>>> sum(nums)
10
>>> sum(nums)/len(nums)
2.5
List Comprehensions
하나 개의 문장으로 루프 목록 지정에 대한 :
>>> squares = [value*10 for value in range(1, 11)]
>>> print(squares)
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
그리고 목록의 작품의 일부
슬라이스
목록의 일부는 두 개의 매개 변수에 끝까지 시작을 나타냅니다 :
>>> seasons = ['spring', 'summer', 'autumn', 'winter']
>>> print(seasons[1:2])
['summer']
>>> print(seasons[2:4])
['autumn', 'winter']
# 如果第一个参数省略,则开始于第一个成员
>>> print(seasons[:4])
['spring', 'summer', 'autumn', 'winter']
# 如果最后一个参数省略,则结束于最后一个成员
>>> print(seasons[0:])
['spring', 'summer', 'autumn', 'winter']
>>> print(seasons[-3:])
['summer', 'autumn', 'winter']
목록 부분은 루프를 사용할 수있다 :
>>> for s in seasons[0:]:
... print(s)
...
spring
summer
autumn
winter
복사
실패의 예에서 첫번째보기 :
>>> seasons_copy=seasons
>>> print(seasons_copy)
['spring', 'summer', 'autumn', 'winter']
>>> seasons[0]='SPRING'
>>> print(seasons_copy)
['SPRING', 'summer', 'autumn', 'winter']
당신은 두 변수가 같은리스트를 가리키고,이 복사되지 않습니다 볼 수 있습니다.
다음은 올바른 방법입니다 :
>>> seasons = ['spring', 'summer', 'autumn', 'winter']
>>> seasons_copy = seasons[:]
>>> seasons[0]='SPRING'
>>> print(seasons_copy)
['spring', 'summer', 'autumn', 'winter']
튜플 (튜플)
목록의 불변 (불변)은 튜플을했다.
튜플은 아닙니다
에 포함되어있는 목록의 구성원 []
정의. 튜플 (쉼표의 구성원 ,
) 부문 :
d=1,2,3,4
그러나, 순서 아름답고, 또한 사용할 수있는 ()
단 하나의 구성원,이 경우, 서라운드 ()
필요가있다 :
>>> d=(1,2,3,4)
>>> d=(1,)
>>>> d[0]=5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
이 같은 튜플 및 목록 탐색 반복하지 않습니다.
튜플 구성원을 수정하지만 튜플 변수입니다, 당신은 새로운 튜플을 가리킬 수 있습니다, 수정할 수 있습니다 말할 수 없다.
코드 스타일
코드는 더 자주 기록 된 것보다 읽기
향상 제안 파이썬 (에서 다음과 같은 권장 사항 PEP ).
4 개 공간을 대신 사용 <tab>
들여 쓰기로
초과하지 않는 코드의 각 행 80 자
72 자 초과하지 않는 선 코멘트를
코드의 가독성을 향상시키기 위해 빈 줄을 사용하여