本文概述
- Python3
- Python3
- Python3
- Python3
- Python3
- Python3
- Python3
列表推导由包含表达式的方括号组成, 该表达式针对每个元素以及用于循环遍历每个元素的for循环执行。
语法如下:
newList = [如果条件, 则为oldList中元素的expression(element)]迭代列表
有多种方法可以遍历列表。但是, 最常见的方法是使用对于循环。让我们看下面的例子:
Python3
# Empty list
List = []# Traditional approach of iterating
for character in 'Geeks 4 Geeks!' :
List .append(character)# Display list
print ( List )
输出如下:
[‘ G’ , ‘ e’ , ‘ e’ , ‘ k’ , ‘ s’ , ” , ‘ 4’ , ” , ‘ G’ , ‘ e’ , ‘ e’ , ‘ k’ , ‘ s’ , ‘ !’ ]上面是对列表, 字符串, 元组等进行迭代的传统方法的实现。现在列表理解可以完成相同的任务, 并使程序更简单。
列表推导将使用for循环的传统迭代方法转换为简单的公式, 从而使其易于使用。下面是使用列表理解迭代列表, 字符串, 元组等的方法。
Python3
# Using list comprehension to iterate through loop
List = [character for character in 'Geeks 4 Geeks!' ]# Displaying list
print ( List )
输出如下:
[‘ G’ , ‘ e’ , ‘ e’ , ‘ k’ , ‘ s’ , ” , ‘ 4’ , ” , ‘ G’ , ‘ e’ , ‘ e’ , ‘ k’ , ‘ s’ , ‘ !’ ]下面是一些示例, 这些示例描述了列表推导的使用, 而不是传统的通过可迭代对象进行迭代的方法:
示例1:显示从1到10的数字的平方。
Python3
# Getting square of numbers from 1 to 10
squares = [n * * 2 for n in range ( 1 , 11 )]# Display square of numbers
print (squares)
输出如下:
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
示例2:显示随机数列表中的偶数元素。
Python3
# List of random numbers
List = [ 4 , 8 , 12 , 7 , 8 , 63 , 99 ]# Displaying only even numbers
print ([n for n in List if n % 2 = = 0 ])
输出如下:
[4, 8, 12, 8]
示例3:切换字符串中每个字符的大小写。
Python3
# Initializing string
string = 'Geeks4Geeks!'# Toggle case of each character
List = [s.swapcase() for s in string]# Display list
print ( List )
输出如下:
[‘ g’ , ‘ E’ , ‘ E’ , ‘ K’ , ‘ S’ , ‘ 4’ , ‘ g’ , ‘ E’ , ‘ E’ , ‘ K’ , ‘ S’ , ‘ !’ ]示例4:反转元组中的每个字符串。
Python3
# Initializing tuple
Tuple = ( 'Geeks' , 'for' , 'Geeks' )# Reverse each string in tuple
List = [string[:: - 1 ] for string in Tuple ]# Display list
print ( List )
输出如下:
['skeeG', 'rof', 'skeeG']
示例5:显示列表中所有奇数元素的数字总和。
Python3
# Explicit function
def digitSum(n):
dsum = 0
for ele in str (n):
dsum + = int (ele)
return dsum# Initializing list
List = [ 367 , 111 , 562 , 945 , 6726 , 873 ]# Using the function on odd elements of the list
newList = [digitSum(i) for i in List if i &
1 ]# Displaying new list
print (newList)
输出如下:
[16, 3, 18, 18]
【Python列表理解用法详细介绍】首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
推荐阅读
- Python列表理解和切片用法介绍
- Python NLTK的词法化用法示例
- Python使用TextBlob进行词法化示例
- Python Kivy线画布(Canvas)用法实例
- Python使用sklearn的线性回归详细指南
- Python如何在Kivy中使用多个KV文件
- Python使用keras进行图像分类项目示例
- Python使用Tkinter的贷款计算器详细介绍
- 去除Proxmox VE登陆时“无有效的订阅”提示