30个的 Python 技巧 |
您所在的位置:网站首页 › python将list元素输出成数字 › 30个的 Python 技巧 |
这两个代码都给出了相同的结果。这就是使用一行赋值的好处。 条件 II:大于变量的值 让我们尝试增加前一个代码中的值的数量。可以将多个值赋给单个变量。将多个值赋给一个变量时,必须在变量名前使用星号。 a , *b = 50 , 60 , 70 print(a) print(b) print(type(a)) print(type(b)) 输出 50 [60, 70]
第一个值将分配给第一个变量,第二个变量将从给定值中获取一组值。这将创建一个列表类型对象。 条件 III:一个值分配给多个变量 我们可以将一个值赋给多个变量。每个变量将使用等号来分隔。 a = b = c = 50 print(a,b,c) print(type(a)) print(type(b)) print(type(c)) 输出 50 50 50
技巧 02:交换两个变量 交换是两个变量的值相互交换的过程。这在计算机科学的许多操作中都很有用。在这里,我编写了程序员用来交换值以及最佳解决方案的两个主要方法。 方法 I:使用临时变量 此方法使用一个临时变量来存储一些数据。以下代码是用临时变量名编写的。 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) 输出 50 60 After swapping: 60 50 方法 II:不使用临时变量 下面的代码是在不使用临时变量的情况下交换变量。 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) 输出 50 60 After swapping: 60 50 方法 III:Python 中的最佳解决方案 这是使用 Python 交换变量的另一种方法。在上个技巧中,我们已经了解了多重赋值我们可以使用交换的概念。 a , b = 50 , 60 print(a,b) a , b = b , a print("After swapping",a,b) 输出 50 60 After swapping 60 50 技巧 03:字符串反转 在 Python 中反转字符串还有一个很酷的技巧。用于反转字符串的概念成为字符串切片。任何字符串都可以在变量名之后使用符号 [::-1] 进行反转。 my_string = "MY STRING" rev_string = my_string[::-1] print(rev_string) 输出 GNIRTS YM 技巧 04:在一行中拆分单词 在一行中拆分单词不需要特殊的算法。为此,我们可以使用关键字 split 。在这里,我编写了两种拆分单词的方法。 方法 I:使用迭代 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) 输出 ['This ', 'is ', 'a ', 'string ', 'in ', 'Python'] 方法 II:使用 split 函数 my_string = "This is a string in Python" my_list = my_string.split(' ') print(my_list) 输出 ['This ', 'is ', 'a ', 'string ', 'in ', 'Python'] 技巧 05:将单词列成一行 这是与上一个部分相反的过程中。在这个部分中,我们将使用 join 函数将单词列表转换为单行。下面给出了使用 join 函数的语法。 语法:"".join(string) my_list = ['This' , 'is' , 'a' , 'string' , 'in' , 'Python'] my_string = " ".join(my_list) 输出 This is a string in Python 技巧 06:多次打印字符串 我们可以使用乘法运算符多次打印字符串。这是重复字符串的一种非常有效的方法。 n = int(input("How many times you need to repeat:")) my_string = "Python\n" print(my_string*n) 输出 How many times you need to repeat:3 Python Python Python 技巧 07:使用加法运算符连接两个字符串 可以在不使用 join 函数的情况下连接各种字符串。我们可以使用加法运算符(+)来完成这个操作。 a = "I Love " b = "Python" print(a+b) 输出 I Love Python 技巧 08:多个条件运算符 在一个程序中结合两个或多个条件运算符,我们可以使用逻辑运算符。但是,通过连接操作符也可以得到同样的结果。例如,当一个变量的值大于 10 且小于 20 时,打印某些内容,则代码将如下所示: a = 15 if (a>10 and a20 else print("Not Eligible") 输出 Eligible 技巧 15:使用 Python 进行列表理解 列表理解(List Comprehension)是从另一个列表中创建列表的一种非常紧凑的方式。请看以下代码。第一个是使用简单迭代编写的,第二个是使用列表理解创建的。 square_list = [] for x in range(1,10): temp = x**2 square_list.append(temp) print(square_list) 输出 [1, 4, 9, 16, 25, 36, 49, 64, 81] 使用列表理解 square_list = [x**2 for x in range(1,10)] print(square_list) 输出 [1, 4, 9, 16, 25, 36, 49, 64, 81] 技巧 16:将可变转换为不可变 函数 frozenset 用于将可变迭代对象转换为不可变对象。使用这个函数,我们可以冻结一个对象,而不改变它的值。 my_list = [1,2,3,4,5] my_list = frozenset(my_list) my_list[3]=7 print(my_list) 输出 Traceback (most recent call last): File "", line 3, in TypeError: 'frozenset' object does not support item assignment 当我们在列表中应用 frozenset 函数时,项目分配是受限的。 技巧 17:用 Floor 和 Ceil 函数进行四舍五入 Floor 和 Ceil 是数学函数,可用于浮点数。Floor 函数返回小于浮点值的整数,而 Ceil 函数返回大于浮点值的整数。要是用这个函数,我们必须导入 math 模块。 import math my_number = 18.7 print(math.floor(my_number)) print(math.ceil(my_number)) 输出 18 19 技巧 19:返回布尔值 有时我们必须通过检查某些参数的条件来返回布尔值。我们可以直接返回条件,而不是写 if else 语句。下面的代码将产生相同的输出。 方法 I:使用 If Else 条件 def function(n): if(n>10): return True else: return False n = int(input) if(function(n)): print("Eligible") else: print("Not Eligible") 方法 II:不使用 If Else 条件 def function(n): return n>10 n = int(input) print("Eligible") if function(n) else print("Not Eligible") 输出 11 Eligible 技巧 19:在一行中创建函数 Lambda 是 Python 中的一个匿名函数,它可以在一行中创建函数。下面给出了使用 Lambda 函数的语法。 语法:lambda arguments: expression x = lambda a,b,c : a+b+c print(x(10,20,30)) 输出 60 技巧 20:对列表中所有元素应用函数 Map 是一个高阶函数,它为列表中所有元素应用特定的函数。 语法:map(function, iterable) my_list = ["felix", "antony"] new_list = map(str.capitalize,my_list) print(list(new_list)) 输出 ['Felix', 'Antony'] 技巧 21:将 Lambda 和 Map 函数一起使用 这个函数可以用 Python 中的 Lambda 函数替换。下面的代码用于创建数字列表的平方。 my_list = [1, 2, 3, 4, 5] new_list = map(lambda x: x*x, my_list) print(list(new_list)) 输出 [1, 4, 9, 16, 25] 技巧 22 从一个函数返回多个值 一个 Python 函数可以返回多个值,而不需要任何额外的需求。我们可以通过逗号分隔这些来返回值。 def function(n): return 1,2,3,4 a,b,c,d = function(5) print(a,b,c,d) 输出 1 2 3 4 技巧 23:使用 Filter 函数过滤值 Filter 函数用于过滤可迭代对象中的一些值。Filter 函数的语法如下所示。 语法:filter(function, iterable) def eligibility(age): return age>=24 list_of_age = [10, 24, 27, 33, 30, 18, 17, 21, 26, 25] age = filter(eligibility, list_of_age)print(list(age)) 输出 [24, 27, 33, 30, 26, 25] 技巧 24:在 Python 中合并两个词典 在 Python 中,我们可以合并两个字典,而不需要任何特定的方法。下面的代码是合并两个字典的示例。 dict_1 = {'One':1, 'Two':2} dict_2 = {'Two':2, 'Three':3} dictionary = {**dict_1, **dict_2} print(dictionary) 输出 {'One': 1, 'Two': 2, 'Three': 3} 技巧 25:获取对象的大小 内存的大小根据对象的类型的不同而不同。我们可以使用 sys 模块中的 getsizeof 函数来获取对象的内存。 import sys a = 5 print(sys.getsizeof(a)) 输出 28 技巧 26:将两个列表合并为词典 Zip 函数在 Python 中有很多优点,使用 zip 函数,可以从两个列表中创建词典。 list_1 = ["One","Two","Three"] list_2 = [1,2,3] dictionary = dict(zip(list_1, list_2)) print(dictionary) 输出 {'Two': 2, 'One': 1, 'Three': 3} 技巧 27:计算程序的执行时间 Time 是 Python 中另一个有用的模块,可以用来计算执行时间。 import time start = time.clock for x in range(1000): pass end = time.clock total = end - start print(total) 输出 0.00011900000000000105 技巧 28:删除列表中的重复元素 出现多次的元素称为重复元素。我们可以简单地使用 typecasting 来删除重复的元素。 my_list = [1,4,1,8,2,8,4,5] my_list = list(set(my_list)) print(my_list) 输出 [8, 1, 2, 4, 5] 技巧 29:用 Python 打印月历 Calendar 模块有许多与日期的操作相关的功能。我们可以使用以下代码来打印月历。 import calendar print(calendar.month("2020","06")) 输出 June 2020 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 技巧 30:使用 Zip 函数进行迭代 Zip 函数支持使用循环迭代多个可迭代的过程。在下面的代码中,两个列表同时被迭代。 list_1 = ['a','b','c'] list_2 = [1,2,3] for x,y in zip(list_1, list_2): print(x,y) 输出 a 1 b 2 c 3 结语 我希望你喜欢本文。最后,你必须明白,学习这些技巧并非必须。但如果你学了这些技巧,你就可以在其他程序员中脱颖而出。要想熟练地编写代码,就必须进行持续不断的练习。 作者介绍:Felix Antony,关于科学、技术和自我发展的技术作家。 原文链接:https://towardsdatascience.com/30-magical-python-tricks-to-write-better-code-e54d1642c255 700页PPT,讲解工业机器人技术基础 机器人4大坐标系讲解,别在搞混了 人工智能导论(180页PPT分享) 机器学习的通俗讲解 带你入门智能制造技术基础 200页PPT搞懂机器视觉及应用技术 技术大全:40种传感器原理、电路、实例 全面了解智能汽车传感器技术 点击文末阅读原文下载资料《100个C语言编程实例分析》返回搜狐,查看更多 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |