# 9个应知应会的单行Python代码

## 1. If — Else 语句

if-else 语句是我们在 Python 中学习的第一批语句之一，它用于执行给定条件的真假部分。

age = 18valid = "You're an adult"invalid = "You're NOT an adult"print(valid) if age >= 18 else print(invalid)


### 2. 根据现有列表创建新列表

[En]

Lists are a common way to store data, but did you know that it only takes one line of code to create a new list based on an existing list?

[En]

Yes, it’s called list derivation, and it provides a short syntax for creating lists based on the values of existing lists, which are more compact than the functions and loops used to make lists.

[expression for item in list]


words = ['united states', 'brazil', 'united kingdom']capitalized = [word.title() for word in words]>>> capitalized['United States', 'Brazil', 'United Kingdom']


[En]

The above code does look better! Keep in mind, however, that we should keep the code user-friendly, so it is not recommended to write long list deductions in a single line of code.

### 3. 字典推导

{key: value for key, value in iterable}


dict_numbers = {x:x*x for x in range(1,6) }>>> dict_numbers{1: 1, 2: 4, 3: 9, 4: 16, 5:25}


### 4. 合并词典

dict_1 = {'a': 1, 'b': 2}dict_2 = {'c': 3, 'd': 4}merged_dict = {**dict_1, **dict_2}>>> merged_dict{'a': 1, 'b': 2, 'c': 3, 'd': 4}


### 5.删除列表中的重复项

&#x200B;set&#x200B;​是一种无序集合，其中每个元素都是唯一的。这意味着如果我们将列表变成一个集合，就可以快速删除重复项，。然后我们只需要将集合再次转换为列表即可。

[En]

Let’s look at a basic example to master it.

numbers = [1,1,1,2,2,3,4,5,6,7,7,8,9,9,9]>>> list(set(numbers))[1, 2, 3, 4, 5, 6, 7, 8, 9]


### 6. 在一行中给多个变量赋值

a, b, c = 1, "abc",  True>>> a1>>> b'abc'>>> cTrue


[En]

It’s very concise, but it’s important to note that the more variables we assign, the greater the chance of assigning them to the wrong value.

### 7. 从列表中过滤值

filter(function, iterable)


[En]

Let’s master it by filtering even numbers from the list

my_list = [10, 11, 12, 13, 14, 15]>>> list(filter(lambda x: x%2 == 0, my_list ))[10, 12, 14]


### 8. 按键排序字典

[En]

In the following example, we will sort the dictionary by product name.

product_prices = {'Z': 9.99, 'Y': 9.99, 'X': 9.99}>>{key:product_prices[key] for key in sorted(product_prices.keys())}{'X': 9.99, 'Y': 9.99, 'Z': 9.99}


### 9. 按值排序字典

sorted(iterable, key=None, reverse=False)


[En]

Suppose we have a dictionary containing population values, and we want to sort them by value.

population = {'USA':329.5, 'Brazil': 212.6, 'UK': 67.2}>>> sorted(population.items(), key=lambda x:x[1])[('UK', 67.2), ('Brazil', 212.6), ('USA', 329.5)]


[En]

Now the only thing left is to add dictionary derivation.

population = {'USA':329.5, 'Brazil': 212.6, 'UK': 67.2}>>> {k:v for k, v in sorted(population.items(), key=lambda x:x[1])}{'UK': 67.2, 'Brazil': 212.6, 'USA': 329.5}


[En]

All right, that’s all we shared today. If you like it, please give it a compliment.

Original: https://blog.51cto.com/u_10487107/5558928
Author: 周萝卜123
Title: 9个应知应会的单行Python代码

(0)

### 大家都在看

• #### 抛硬币概率熵描述-matplotlib

""" 硬币问题的概率和熵 """ import numpy as np from matplotlib import …

Python 2023年9月1日
0109
• #### APP自动化测试框架pytest+allure+uiautomator2+pom

APP自动化测试框架pytest+allure+uiautomator2+pom 【裙子：822659419】源码：https://gitee.com/HP_mojin/20220…

Python 2023年9月10日
0106
• #### go slice不同初始化方式性能&数组比较

go语言开发中，slice是我们常用的数据类型之一，也是因为它的灵活性，自己也很少使用数组，当然我也知道它的一些特性，不过没有真实的去验证它，因为大多数使用场景没必要对code太过…

Python 2023年10月14日
090
• #### 经典设计模式总则

Design pattern 设计模式背景-概念、面向对象六大原则、设计模式分类、二十三中常用设计模式即创建型模式、结构型模式、行为型模式 1、设计模式的背景、概念及其必要性 1….

Python 2023年10月24日
098
• #### NOAA数据下载方法

NOAA OneStop https://data.noaa.gov/onestop/about NOAA 数据搜索平台，在一个地方同时搜索NOAA的 Geophysical, o…

Python 2023年6月3日
0162
• #### envoy开发调试环境搭建

🚀 优质资源分享 🚀 学习路线指引（点击解锁）知识定位人群定位🧡 Python实战微信订餐小程序 🧡 进阶级本课程是python flask+微信小程序的完美结合，从项目搭建到腾讯…

Python 2023年8月14日
0134
• #### 什么是Scrum？Scrum的核心要点和精髓

有点长，期望你能通过本文彻底了解 Scrum。 上一篇文章《研发效能组织能力建设之特性团队FeatureTeam（上）》，我们介绍了一个非常有意思且高效的组织模式-特性团队。我们首…

Python 2023年10月19日
075

我会解释如何在pandas中根据条件赋值。虽然它不使用 if 语句，但它可以处理条件分支，如 if then … 或 if then … else &#82…

Python 2023年8月6日
0118
• #### python＞＞numpy（第二讲）

第2章 科学计算库 NumPy;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;随机数模块;本章主…

Python 2023年8月25日
083
• #### C++【LRU】

以下是C++实现的 算法代码： c++ #include</p> <p>Cache { public:</p> <p>Cache(i…

Python 2023年9月28日
079

文章目录 * – 不执行的问题 – gunicorn的日志配置信息 – gunicorn启动flask定时任务重复执行的问题 不执行的问题 这样…

Python 2023年8月13日
0112
• #### python 三元运算

Python 2023年5月24日
0106
• #### python lambda表达式

作用 函数名=lambda 参数: 表达式 就是写在一行的函数而已，例如 用例 >>> myfun = lambda x: x-10 >>> m…

Python 2023年6月12日
0151
• #### flutter系列之:Material中的3D组件Card

简介 Card详解 Card的使用 总结 简介 除了通用的组件之外，flutter还提供了两种风格的特殊组件，其中在Material风格中，有一个Card组件，可以很方便的绘制出卡…

Python 2023年10月21日
070
• #### python数据分析之numpy与pandas入门

目录 简介 一、numpy常用数据结构 * 1、数组和矩阵 2、访问方法 二、numpy矩阵运算(加减乘逆) * 1、加减 2、乘法（普通乘，矩阵乘，点乘） 3、逆和伪逆 4、转置…

Python 2023年8月26日
083
• #### Python_数学绘图工具MathToolsPaint[项目]（动态组件与PaneWindow）（tkinter实现）【2022-01-17】

Python_数学绘图工具MathToolsPaint[项目]（动态组件与PaneWindow）（tkinter实现）【2022-01-17】 1.MathToolsPaint.p…

Python 2023年9月2日
0110