Python中的“列表解析式”、“字典解析式”、“集合解析式”

1. 列表、字典、集合概念说明

在讲述这三个概念之前,首先我们需要对列表、字典、集合三个概念,做一个简单的说明。

2. 列表解析式

列表推导式,在日常编程中发挥着很重要的作用(尤其是利用python做数据清洗的时候),它能够简化我们的代码,极其好用,我这里将它的常见3种用法给大家总结一下。

① 一般形式

  • 语法格式:[ expression for i in iterable ]

x = [ 1, 3, 5, 7, 9]

y = [i** 2fori inx]

print(y)

结果如下:

② 带if的列表解析式

  • 语法:[ expression for i in iterable if…]

x = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

y = [i fori inx ifi % 2== 0]

print(y)

结果如下:

③ 带if...else...的列表解析式

  • 语法:[ expression if...else... for i in iterable]

x = [ 1, 2, 3, 4, 5, 6]

y = [ "我是偶数"ifi % 2== 0else"我是奇数"fori inx]

print(y)

结果如下:

2. 字典解析式

其实不管是现在要讲述的字典解析式,还是后面要讲述的集合解析式,基本都可以使用列表解析式的3中常规操作,我这里仅仅用下面这一个案例来进行说明。

  • 语法:{ expression for i in iterable }
  • 用法和列表一样,区别就是用 { } 包起来,而且前面的expression是 key:value 的形式。

这里有一份成绩单,记录了每个学生的英语成绩,下面我要筛选出英语成绩及格(大于等于60)的信息

x = { '张三': 70, '李四': 49, '王五': 67, '赵六': 80, '沈七': 99}

y = {k: v fork, v inx.items ifint(v) >= 60}

print(y)

结果如下:

3. 集合解析式

注意一个概念,集合是不可重复的集合解析式能够自动实现去重功能。其实这里的用法和上述的字典有点相似,仔细看清楚哦。

  • 语法:{ expression for i in iterable }
  • 用法和字典类似,也是用 { } 包起来,但是前面的expression不再是 key:value 的形式。

x = [ "香蕉", "橘子", "西瓜", "香蕉", "橘子"]

y = {i fori inx}

print(y)

结果如下:

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章