正文
process
(
i
)
if
not
flagfound
:
raise
ValueError
(
"List argument missing terminal flag."
)
pythonic
for
i
in
mylist
:
if
i
==
theflag
:
break
process
(
i
)
else
:
raise
ValueError
(
"List argument missing terminal flag."
)
5、字符串格式化
s1
=
"foofish.net"
s2
=
"vttalk"
s3
=
"welcome to %s and following %s"
%
(
s1
,
s2
)
pythonic
s3 = "welcome to {blog} and following {wechat}".format(blog="foofish.net", wechat="vttalk")
很难说用 format 比用 %s 的代码量少,但是 format 更易于理解。
“Explicit is better than implicit — Zen of Python”
6、列表切片
获取列表中的部分元素最先想到的就是用 for 循环根据条件提取元素,这也是其它语言中惯用的手段,而在 Python 中还有强大的切片功能。
items
=
range
(
10
)
# 奇数
odd_items
=
[]
for
i
in
items
:
if
i
%
2
!=
0
:
odd_items
.
append
(
i
)
# 拷贝
copy_items
=
[]
for
i
in
items
:
copy_items
.
append
(
i
)
pythonic
# 第1到第4个元素的范围区间
sub_items
=
items
[
1
:
4
]
# 奇数
odd_items
=
items
[
1
::
2