python comprehension_什么是Python List Comprehension?

7b3fdeebca5c415b9fab70ae9b19fae0

同学们写一段代码送上老师的祝福:

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很容易使用。它是从其他列表创建新列表的强大工具,如果要从一个或多个现有列表创建新列表,应该始终使用它:它比标准循环可读性更好,需要的代码更少,速度更快。

...在家动手再敲一遍跑跑看...

66a2899cbc924e87b87d70ab12b1849c

“优雅时简约之父”

“elegance begets simpicity"

2009年的芝加哥pyconT恤衫上印有

《易经》第二十二卦贲的卦象

贲代表着典雅高贵

25d835245f514951b07de7f421b738bb

ffd297ab1d8246ea96347fc5d2841605

▽ 速查关键词▽

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值