前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >30个神奇的Python技巧来编写更好的代码(上)

30个神奇的Python技巧来编写更好的代码(上)

原创
作者头像
陈晨135
发布2021-12-17 10:13:01
5780
发布2021-12-17 10:13:01
举报
文章被收录于专栏:Python小课堂

Hello,大家好,我是陈晨~

Python因其代码的简单性和可读性而成为一种非常流行的语言。 它是您选择的最简单的语言之一。 如果您是python基本概念的初学者,那么这是学习编写更好代码的最佳时间。

python中有许多技巧可以比以前更好地改善程序。 本文将帮助您了解python中可用的各种技巧。 不断地练习它们,直到成为您编程习惯的一部分。

我将分享30个神奇的Python技巧来帮助你编写更好的代码,会分为两次来进行分享哦~

今天先分享15个,一起来看看吧!

01-变量的多重分配

Python允许我们在一行中为多个变量分配值。 可以使用逗号分隔变量。 一线多任务有很多好处。 它可用于为多个变量分配多个值或为单个变量名称分配多个值。 让我们做一个问题陈述,其中我们必须将值50和60分配给变量a和b。 常规代码如下所示。

代码语言:javascript
复制
a = 50  
b = 60 
print(a,b) 
print(type(a)) 
print(type(b)) 

输出量

代码语言:javascript
复制
50  
60  
<class 'int'>  
<class 'int'> 

条件I-值等于变量

当变量和多个赋值相等时,每个值将存储在所有变量中。

代码语言:javascript
复制
a , b = 50 , 60 
print(a,b) 
print(type(a)) 
print(type(b)) 

输出量

代码语言:javascript
复制
50  
60 
<class 'int'> 
<class 'int'> 

这两个程序给出相同的结果。 这是使用一个行值分配的好处。

条件II-值大于变量

让我们尝试增加一个程序中的值数量。 可以将多个值分配给单个变量。 在为变量分配多个值时,我们必须在变量名称前使用星号。

代码语言:javascript
复制
a , *b = 50 , 60 , 70 
print(a) 
print(b) 
print(type(a)) 
print(type(b)) 

输出量

代码语言:javascript
复制
50 
[60, 70] 
<class 'int'> 
<class 'list'> 

第一个值将分配给第一个变量。 第二个变量将从给定值中收集值。 这将创建一个列表类型的对象。

条件III-多变量一个值

我们可以为多个变量分配一个值。 每个变量将使用等号分隔。

代码语言:javascript
复制
a = b = c = 50 
print(a,b,c) 
print(type(a)) 
print(type(b)) 
print(type(c)) 

输出量

代码语言:javascript
复制
50 50 50 
<class 'int'> 
<class 'int'> 
<class 'int'> 

02-交换两个变量

交换是彼此交换两个变量的值的过程。 这在计算机科学的许多操作中都很有用。 在这里,我编写了两种主要的方法供程序员用来交换知识以及最佳解决方案。

方法I-使用临时变量

此方法是使用临时变量存储一些数据。 以下代码使用临时变量名编写。

代码语言:javascript
复制
a , b = 50 , 60 
print(a,b) 
temp = a+b  
#a=50 b=60 temp=110 
b = a  
#a=50 b=50 temp=110 
a = temp-b  
#a=60 b=50 temp=110 
print("After swapping:",a,b) 

输出量

代码语言:javascript
复制
50 60 
 
After swapping: 60 50 

方法II-不使用临时变量

以下代码在不使用临时变量的情况下交换了变量。

代码语言:javascript
复制
a , b = 50 , 60 
print(a,b) 
a = a+b  
#a=110 b=60 
b = a-b  
#a=110 b=50 
a = a-b  
#a=60 b=50 
print("After swapping:",a,b) 

输出量

代码语言:javascript
复制
50 60 
 
After swapping: 60 50 

方法III-Python中的优秀解决方案

这是使用python交换变量的另一种方法。 在上一节中,我们了解了多个分配。 我们可以使用交换的概念。

代码语言:javascript
复制
a , b = 50 , 60 
print(a,b) 
a , b = b , a 
print("After swapping",a,b) 

输出量

代码语言:javascript
复制
50 60 
 
After swapping 60 50 

03-反转字符串

还有另一个很酷的技巧可以在python中反转字符串。 用于反转字符串的概念称为字符串切片。 可以在变量名称后使用符号[::-1]反转任何字符串。

代码语言:javascript
复制
my_string = "MY STRING" 
rev_string = my_string[::-1] 
print(rev_string) 

输出量

代码语言:javascript
复制
GNIRTS YM 

04-在一行中拆分单词

将单词分割成一行不需要特殊的算法。 为此,我们可以使用关键字split()。 在这里,我写了两种分割单词的方法。

方法一-使用迭代法

代码语言:javascript
复制
my_string = "This is a string in Python" 
start = 0 
end = 0 
my_list = [] 
for x in my_string:  
    end=end+1  
    if(x==' '):  
    my_list.append(my_string[start:end])  
    start=end+1 
    my_list.append(my_string[start:end+1]) 
print(my_list) 

输出量

代码语言:javascript
复制
['This ', 'is ', 'a ', 'string ', 'in ', 'Python']

方法II-使用分割功能

代码语言:javascript
复制
my_string = "This is a string in Python" 
my_list = my_string.split(' ') 
print(my_list) 

输出量

代码语言:javascript
复制
['This ', 'is ', 'a ', 'string ', 'in ', 'Python'] 

05-将单词列表排成一行

这与上一个过程相反。 在这一部分中,我们将使用join函数将单词列表转换为单行。 下面给出了使用join函数的语法。

语法:"" .join(string)

代码语言:javascript
复制
my_list = ['This' , 'is' , 'a' , 'string' , 'in' , 'Python'] 
my_string = " ".join(my_list) 

输出量

代码语言:javascript
复制
This is a string in Python 

06-多次打印字符串

我们可以使用乘法运算符多次打印字符串。 这是重复字符串的非常有效的方法。

代码语言:javascript
复制
n = int(input("How many times you need to repeat:")) 
my_string = "Python\n" 
print(my_string*n) 

输出量

代码语言:javascript
复制
How many times you need to repeat:3 
 
PythonPythonPython 

07-使用加法运算符连接两个字符串

可以在不使用join函数的情况下连接各种字符串。 我们可以只使用加法运算符(+)来执行此操作。

代码语言:javascript
复制
a = "I Love " 
b = "Python" 
print(a+b) 

输出量

代码语言:javascript
复制
I Love Python 

08-多个条件运算符

两个可以在程序中组合两个或多个条件运算符,我们可以使用逻辑运算符。 但是,通过链接运算符可以得到相同的结果。 例如,如果我们需要在变量的值大于10且小于20时打印某些内容,则代码将类似于以下内容。

代码语言:javascript
复制
a = 15 
if (a>10 and a<20):  
    print("Hi") 

取而代之的是,我们可以将条件运算符组合成单个表达式。

代码语言:javascript
复制
a = 15 
if (10 < a < 20):  
    print("Hi") 

输出量

代码语言:javascript
复制
Hi 

09-在列表中查找最频繁的元素

在列表中大部分时间出现的元素,然后将成为列表中最频繁出现的元素。 以下代码段将帮助您从列表中获取最频繁的元素。

代码语言:javascript
复制
my_list = [1,2,3,1,1,4,2,1] 
most_frequent = max(set(my_list),key=my_list.count) 
print(most_frequent) 

输出量

代码语言:javascript
复制
1 

10-查找列表中所有元素的出现

先前的代码将提供最频繁的值。 如果我们需要知道列表中所有唯一元素的出现,则可以使用收集模块。 该集合是python中一个很棒的模块,它提供了强大的功能。 Counter方法提供具有元素和出现对的字典。

代码语言:javascript
复制
from collections import Counter 
my_list = [1,2,3,1,4,1,5,5] 
print(Counter(my_list)) 

输出量

代码语言:javascript
复制
Counter({1: 3, 5: 2, 2: 1, 3: 1, 4: 1}) 

11-检查两个字符串的字谜

如果一个字符串由另一个字符串中的字符组成,则两个字符串是字谜。 我们可以在collections模块中使用相同的Counter方法。

代码语言:javascript
复制
from collections import Counter 
my_string_1 = "RACECAR" 
my_string_2 = "CARRACE" 
 
if(Counter(my_string_1) == Counter(my_string_2)):  
    print("Anagram") 
else: print("Not Anagram") 

输出量

代码语言:javascript
复制
Anagram 

12-创建带范围的数字序列

函数range()对于创建数字序列很有用。 在许多代码片段中,它可能很有用。 范围函数的语法在此处编写。

语法:range(开始,结束,步长)

让我们尝试创建一个偶数列表。

代码语言:javascript
复制
my_list = list(range(2,20,2)) 
print(my_list) 

输出量

代码语言:javascript
复制
[2, 4, 6, 8, 10, 12, 14, 16, 18] 

13-多次重复元素

与字符串乘法相似,我们可以使用乘法运算符创建一个多次填充元素的列表。

代码语言:javascript
复制
my_list = [3] 
my_list = my_list*5 
print(my_list) 

输出量

代码语言:javascript
复制
[3, 3, 3, 3, 3] 

14-在三元运算符中使用条件

在大多数情况下,我们在Python中使用嵌套的条件结构。 除了使用嵌套结构,还可以在三元运算符的帮助下替换一行。 语法在下面给出。

语法:if True then Statement1 else Statement2

代码语言:javascript
复制
if age > 20 then age = 25, print("czz")else print("不合格")

输出量

代码语言:javascript
复制
合格 

15-使用Python列表推导表达式

列表推导表达式是从另一个列表创建列表的一种非常紧凑的方法。 看下面的代码。 第一个是使用简单的迭代编写的,第二个是使用列表理解的。

代码语言:javascript
复制
square_list = [] 
for x in range(1,10):  
    temp = x**2 square_list.append(temp) 
print(square_list) 

输出量

代码语言:javascript
复制
[1, 4, 9, 16, 25, 36, 49, 64, 81] 

使用列表推导表达式

代码语言:javascript
复制
square_list = [x**2 for x in range(1,10)] 
print(square_list) 

输出量

代码语言:javascript
复制
[1, 4, 9, 16, 25, 36, 49, 64, 81] 

最后

好了,今天我分享已经结束了,后续另外一半,下次再跟你们分享

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01-变量的多重分配
  • 02-交换两个变量
  • 03-反转字符串
  • 04-在一行中拆分单词
  • 05-将单词列表排成一行
  • 06-多次打印字符串
  • 07-使用加法运算符连接两个字符串
  • 08-多个条件运算符
  • 09-在列表中查找最频繁的元素
  • 10-查找列表中所有元素的出现
  • 11-检查两个字符串的字谜
  • 12-创建带范围的数字序列
  • 13-多次重复元素
  • 14-在三元运算符中使用条件
  • 15-使用Python列表推导表达式
  • 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档