同学们写一段代码送上老师的祝福:
2019年9月10日是第 35 个教师节,
收获的季节祝老师节日快乐!
我学的第一句谚语 No pain, no gain
秋收季节时努力的人收获更多
tips = '请丁丁猫同学每周拿出3个小时练习'
出现 # 是同学补齐代码的地方
# 请同学们补充代码
# 找到4只脚,爱睡觉,在十二生肖里
回忆下老师讲过的数组和函数,
现在就完成几个小任务:
试着运行下面的代码结果!
1
为什么range内是2020 ,而不是 2019?
num = 0
for i in range(1985, 2020):
num += 1
title = "2019年9月10日是第 " + str(num) + " 个教师节"
greet = ',祝老师节日快乐!'
print(title + greet)
2019年9月10日第 35 个教师节,祝老师节日快乐!
for i in range(3) # 重要的说 3 编
print("请丁丁猫的新老学员都温习功课")
加编写四则运算的函数
为什么使用函数?
def add(x,y)
return x + y
for i in range()
[1、2、3、... 100] 如何用代码实现并求和?
1-100之内的素数找出来放在一个数组里
def total(x,y)
return
判断是否包含
4只脚,爱睡觉,十二生肖里
animal_park
= ['Rabbit','Rabbit','Rabbit','Rabbit',
'Cat','Cat','Cat','Cat','Cat','Cat','Cat',
'Pig','Pig','Pig','Pig','Pig','Pig',
'Turtle','Turtle','Turtle','Turtle','Turtle','Turtle','Turtle',
'Dog','Dog',
'Kangaroo','Kangaroo','Kangaroo','Kangaroo','Kangaroo','Kangaroo']
Sleep_item
= ['Pig','Cat','snake'] #爱睡觉的动物
shuxiang = [ ] # 请同学英文表达十二属相动物
Four_leg = [ ] # 请同学英文表达有4只脚的动物
# 请同学们补充代码
# 找到4只脚,爱睡觉,在十二生肖里
参考上期内容:找到不带眼镜、长发和爱笑的同学是如何实现的?
今天我们再提高一步!第四个任务还有更高效的写法而且看起来更简洁。这是Python的魅力之一,同学们一定要试试啊!
关键词:Python List Comprehension
如果您开始使用python,列表理解可能看起来很复杂,但是您应该尽快熟悉它。可以从列表中选择特定元素来创建新元素。您可以比较不同的列表并选择所需的元素。您甚至可以使用pandas系列或numpy数组来理解列表。让我们更深入地看一看!
什么是Python List Comprehension?
从现有的列表,你想选择其中的一些元素来创建一个新列表。使用标准的python循环来实现这一点,但是使用Python List Comprehension,您肯定需要更少的代码。
列表可以迭代,这使得取出你需要的对象非常方便。下面场景例子巩固所学
动物园医生的名单
有一个动物公园里面有不同的动物。每年每只动物都需要接受动物医生的检查。你现在就是动物的医生,动物公园花名册按放在数组animal_pack里面
#Creating our animal park
animal_park = ['Rabbit','Rabbit','Rabbit','Rabbit',
'Cat','Cat','Cat','Cat','Cat','Cat','Cat',
'Turtle','Turtle','Turtle','Turtle','Turtle','Turtle','Turtle',
'Dog','Dog',
'Kangaroo','Kangaroo','Kangaroo','Kangaroo','Kangaroo','Kangaroo']
注释:
兔子 猫 乌龟 狗 袋鼠
现在你的任务是穿过动物公园,一个一个地挑选动物。将需要检查的动物放入一个新的数组。
注意受试者是
除去猫和狗以外的所又动物,放入animal_doctor
#Creating a new list for our animal doctor with all animals
animal_doctor = []
for animal in animal_park:
animal_doctor.append(animal)
# 运行代码应该看到数组里没有猫和狗
标准循环和Python List Comprehension分别实现任务
#标准的循环是这样滴:
animal_doctor = []
for animal in animal_park:
if animal != 'Dog' and animal != 'Cat':
animal_doctor.append(animal)
# Python List Comprehension 条件语句是这样滴
在很多情况下,我们希望使用条件语句。在我们的标准循环中,它可能是这样的:
如同学所见,我们必须为条件语句添加另一行代码。也可以这样做
animal_doctor = [animal for animal in animal_park if animal != 'Dog' and animal != 'Cat']
# 动物医生=[动物公园里的动物,如果动物不是狗也不是'猫']
# '
!=
' 表示'不是',同学们如果只想检查猫和狗,该如何表达?
我们看到列表理解需要的代码更少,可读性更好!
Python List Comprehension比标准循环快51%
如果可以使用列表理解从另一个列表创建新列表,请始终使用它。没有理由使用较慢的标准循环。
结论:
我们看到,如果基本概念清楚的话,Python List Comprehension很容易使用。它是从其他列表创建新列表的强大工具,如果要从一个或多个现有列表创建新列表,应该始终使用它:它比标准循环可读性更好,需要的代码更少,速度更快。
...在家动手再敲一遍跑跑看...
“优雅时简约之父”
“elegance begets simpicity"
2009年的芝加哥pyconT恤衫上印有
《易经》第二十二卦贲的卦象
贲代表着典雅高贵
▽ 速查关键词▽
1. Collections:
List, Dictionary, Set, Tuple, Range, Enumerate, Iterator, Generator.
2. Types:
Type, String, Regular_Exp, Format, Numbers, Combinatorics, Datetime
3. Syntax:
Args, Inline, Closure, Decorator, Class, Duck_Types, Enum, Exceptions
4. System:
Print, Input, Command_Line_Arguments, Open, Path, Command_Execution.
5. Data:
CSV, JSON, Pickle, SQLite, Bytes, Struct, Array, MemoryView, Deque.
6. Advanced:
Threading, Operator, Introspection, Metaprograming, Eval, Coroutine.
7. Libraries:
Progress_Bar, Plot, Table, Curses, Logging, Scraping, Web, Profile,NumPy, Image, Audio.