Python知识之列表的十个小技巧分享

2023-01-04 09:38:16

目录一、提要二、十个典型功能2.1倒排列表reverse()2.2更换列表排列顺序2.3函数的生成器参数2.4拉链函数合并2.5交换两个变量值2.6矩阵转置2.7打印字符串N次2....

目录
一、提要    
二、十个典型功能
2.1 倒排列表  reverse()
2.2 更换列表排列顺序 
2.3 函数的生成器参数
2.4 拉链函数合并
2.5 交换两个变量值
2.6 矩阵转置
2.7 打印字符串N次
2.8 倒排列表
2.9 寻找整数的因子
2.10 查看变量占用内存
总结

一、提要    

随着 python 的普及,越来越多的功能可用于 python 编码。使用此功能可以用更少的行和更清晰的方式编写代码。

在本文中,我们将看到 10 个这样的 Python 技巧,它们非常常用且最有用。

二、十个典型功能

2.1 倒排列表  reverse()

我们可以使用 reverse() 函数简单地反转给定列表。它处理列表中存在的数字和字符串数据类型。

示例代码:

List = ["Shriya", "Lavina","Sampreeti" ]
List.reverse()
print(List)

结果:

['Sampreeti', 'Lavina', 'Shriya']

2.2 更换列表排列顺序 

如果您需要以不同的顺序打印列表的值,您可以将列表分配给一系列变量,并以编程方式决定您要打印列表的顺序。

示例代码:

List = [1,2,3]
w, v, t = List
print(v, w, t )
print(t, v, w )

输出结果

(2, 1, 3) (3, 2, 1)

2.3 函数的生成器参数

在函数内部使用生成器,我们可以直接在函数内部使用生成器来编写更短、更简洁的代码。在下面的示例中,我们使用生成器直接作为 sum 函数的参数来求和。

示例代码:

sum(i for i in range(10) )

运行结果:

45

2.4 拉链函数合并

使用 zip() 函数

当我们需要连接许多迭代器对象(如列表)以获得单个列表时,我们可以使用 zip 函数。结果显示每个项目都与其他列表中的相应项目分组。

示例代码:

Year = (1999, 2003, 2011, 2017)
Month = ("Mar", "Jun", "Jan", "Dec")
Day = (11,21,13,5)
print zip(Year,Month,Day)

运行结果:

[(1999, 'Mar', 11), (2003, 'Jun', 21), (2011, 'Jan', 13), (2017, 'Dec', 5)]

2.5 交换两个变量值

使用一行代码交换两个数字,数字交换通常需要将值存储在临时变量中。但是通过这个 python 技巧,我们可以使用一行代码而不使用任何临时变量来做到这一点。

示例代码:

x,y = 11, 34
print x
print y
x,y = y,x
print x
print y

运行结果:

11 34

34 11

2.6 矩阵转置

转置矩阵涉及将列转换为行。在 python 中,我们可以通过设计一些循环结构来遍历矩阵中的元素并更改它们的位置来实现它,或者我们可以使用以下涉及 zip 函数的脚本与 * 运算符一起解压缩一个列表,该列表成为给定的转置矩阵。

示例代码:

x = [[31,17],
[40 ,51],
[13 ,12]]
print (zip(*x))

运行结果:

[(31, 40, 13), (17, 51, 12)]

2.7 打印字符串N次javascript

打印一个字符串 N 次,任何编程语言中多次打印字符串的常用方法是设计一个循环。

但是 python 有一个简单的技巧,在 print 函数中涉及一个字符串和一个数字。

示例代码:

str ="Point";
print(str * 3);

运行结果:

PointPointPoint

2.8 倒排列表

列表切片是python中一种非常强大的技术,它也可以用来反转列表中元素的顺序。

示例代码:

#Reversing Strings
list1 = ["a","b","c","d"]
print list1[::-1]

# Reversing Numbers
list2 = [1,3,6,4,2]
print list2[::-1]

运行结果:

['d', 'c', 'b', 'a'] [2, 4, 6, 3, 1]

2.9 寻找整数的因子

当我们需要一个数的因数,需要进行一些计算或分析时,我们可以设计一个小循环,用迭代索引检查该数的可分性。

示例代码:

f = 32
print "The factors of",x,"are:"
for i in range(1, f + 1):
 if f % i == 0:
print(i)

运行结果:

The factors of 32 are: 1 2 4 8 16 32

2.10 查看变量占用内存

检查内存使用情况:我们可以使用 getsizeof() 函数检查我们声明的每个变量消耗的内存量。

正如您在下面看到的,不同的字符串长度将消耗不同的内存量。

示例代码:

import sys
a, b, c,d = "abcde" ,"xy", 2, 15.06
print(sys.getsizeof(a))
print(sys.getsizeof(b))
print(sys.getsizeof(c))
print(sys.getsizeof(d))

运行结果:

38 35 24 24

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。