成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

30個神奇的Python技巧來編寫更好的代碼

開發 后端
使用Python技巧將您的邏輯轉換為更優雅的代碼。Python因其代碼的簡單性和可讀性而成為一種非常流行的語言。 它是您選擇的最簡單的語言之一。 如果您是python基本概念的初學者,那么這是學習編寫更好代碼的最佳時間。

 使用Python技巧將您的邏輯轉換為更優雅的代碼

[[330982]]

Python因其代碼的簡單性和可讀性而成為一種非常流行的語言。 它是您選擇的最簡單的語言之一。 如果您是python基本概念的初學者,那么這是學習編寫更好代碼的最佳時間。

python中有許多技巧可以比以前更好地改善程序。 本文將幫助您了解python中可用的各種技巧。 不斷地練習它們,直到成為您編程習慣的一部分。

技巧01-變量的多重分配

Python允許我們在一行中為多個變量分配值。 可以使用逗號分隔變量。 一線多任務有很多好處。 它可用于為多個變量分配多個值或為單個變量名稱分配多個值。 讓我們做一個問題陳述,其中我們必須將值50和60分配給變量a和b。 常規代碼如下所示。

 

  1. a = 50  
  2. b = 60 
  3. print(a,b) 
  4. print(type(a)) 
  5. print(type(b)) 

輸出量

 

  1. 50  
  2. 60  
  3. <class 'int' 
  4. <class 'int'

 

條件I-值等于變量

當變量和多個賦值相等時,每個值將存儲在所有變量中。

 

  1. a , b = 50 , 60 
  2. print(a,b) 
  3. print(type(a)) 
  4. print(type(b)) 

輸出量

  1. 50  
  2. 60 
  3. <class 'int'
  4. <class 'int'

這兩個程序給出相同的結果。 這是使用一個行值分配的好處。

條件II-值大于變量

讓我們嘗試增加上一個程序中的值數量。 可以將多個值分配給單個變量。 在為變量分配多個值時,我們必須在變量名稱前使用星號。

 

  1. a , *b = 50 , 60 , 70 
  2. print(a) 
  3. print(b) 
  4. print(type(a)) 
  5. print(type(b)) 

輸出量

  1. 50 
  2. [60, 70] 
  3. <class 'int'
  4. <class 'list'

第一個值將分配給第一個變量。 第二個變量將從給定值中收集值。 這將創建一個列表類型對象。

條件III-多變量一個值

我們可以為多個變量分配一個值。 每個變量將使用等號分隔。

 

  1. a = b = c = 50 
  2. print(a,b,c) 
  3. print(type(a)) 
  4. print(type(b)) 
  5. print(type(c)) 

輸出量

  1. 50 50 50 
  2. <class 'int'
  3. <class 'int'
  4. <class 'int'

技巧02-交換兩個變量

交換是彼此交換兩個變量的值的過程。 這在計算機科學的許多操作中可能很有用。 在這里,我編寫了兩種主要的方法供程序員用來交換值以及最佳解決方案。

方法I-使用臨時變量

此方法使用臨時變量存儲一些數據。 以下代碼使用臨時變量名編寫。

 

  1. a , b = 50 , 60 
  2. print(a,b) 
  3. temp = a+b  
  4. #a=50 b=60 temp=110 
  5. b = a  
  6. #a=50 b=50 temp=110 
  7. a = temp-b  
  8. #a=60 b=50 temp=110 
  9. print("After swapping:",a,b) 

輸出量

 

  1. 50 60 
  2.  
  3. After swapping: 60 50 

 

方法II-不使用臨時變量

以下代碼在不使用臨時變量的情況下交換了變量。

 

  1. a , b = 50 , 60 
  2. print(a,b) 
  3. a = a+b  
  4. #a=110 b=60 
  5. b = a-b  
  6. #a=110 b=50 
  7. a = a-b  
  8. #a=60 b=50 
  9. print("After swapping:",a,b) 

輸出量

 

  1. 50 60 
  2.  
  3. After swapping: 60 50 

 

方法III-Python中的優秀解決方案

這是使用python交換變量的另一種方法。 在上一節中,我們了解了多個分配。 我們可以使用交換的概念。

 

  1. a , b = 50 , 60 
  2. print(a,b) 
  3. a , b = b , a 
  4. print("After swapping",a,b) 

輸出量

 

  1. 50 60 
  2.  
  3. After swapping 60 50 

 

技巧03-反轉字符串

還有另一個很酷的技巧可以在python中反轉字符串。 用于反轉字符串的概念稱為字符串切片。 可以在變量名稱后使用符號[::-1]反轉任何字符串。

 

  1. my_string = "MY STRING" 
  2. rev_string = my_string[::-1] 
  3. print(rev_string) 

輸出量

 

  1. GNIRTS YM 

技巧04-在一行中拆分單詞

將單詞分割成一行不需要特殊的算法。 為此,我們可以使用關鍵字split()。 在這里,我寫了兩種分割單詞的方法。

方法一-使用迭代

 

  1. my_string = "This is a string in Python" 
  2. start = 0 
  3. end = 0 
  4. my_list = [] 
  5. for x in my_string:  
  6.     end=end+1  
  7.     if(x==' '):  
  8.     my_list.append(my_string[start:end])  
  9.     start=end+1 
  10.     my_list.append(my_string[start:end+1]) 
  11. print(my_list) 

輸出量

['This ', 'is ', 'a ', 'string ', 'in ', 'Python']

方法II-使用分割功能

 

  1. my_string = "This is a string in Python" 
  2. my_list = my_string.split(' '
  3. print(my_list) 

輸出量

 

  1. ['This ''is ''a ''string ''in ''Python'

技巧05-將單詞列表排成一行

這與上一個過程相反。 在這一部分中,我們將使用join函數將單詞列表轉換為單行。 下面給出了使用join函數的語法。

語法:"" .join(string)

 

  1. my_list = ['This' , 'is' , 'a' , 'string' , 'in' , 'Python'
  2. my_string = " ".join(my_list) 

輸出量

 

  1. This is a string in Python 

技巧06-多次打印字符串

我們可以使用乘法運算符多次打印字符串。 這是重復字符串的非常有效的方法。

 

  1. n = int(input("How many times you need to repeat:")) 
  2. my_string = "Python\n" 
  3. print(my_string*n) 

輸出量

 

  1. How many times you need to repeat:3 
  2.  
  3. PythonPythonPython 

 

技巧07-使用加法運算符連接兩個字符串

可以在不使用join函數的情況下連接各種字符串。 我們可以只使用加法運算符(+)來執行此操作。

 

  1. a = "I Love " 
  2. b = "Python" 
  3. print(a+b) 

輸出量

 

  1. I Love Python 

技巧08-多個條件運算符

兩個可以在程序中組合兩個或多個條件運算符,我們可以使用邏輯運算符。 但是,通過鏈接運算符可以得到相同的結果。 例如,如果我們需要在變量的值大于10且小于20時打印某些內容,則代碼將類似于以下內容。

 

  1. a = 15 
  2. if (a>10 and a<20):  
  3.     print("Hi"

取而代之的是,我們可以將條件運算符組合成單個表達式。

 

  1. a = 15 
  2. if (10 < a < 20):  
  3.     print("Hi"

輸出量

 

  1. Hi 

技巧09-在列表中查找最頻繁的元素

在列表中大部分時間出現的元素,然后將成為列表中最頻繁出現的元素。 以下代碼段將幫助您從列表中獲取最頻繁的元素。

 

  1. my_list = [1,2,3,1,1,4,2,1] 
  2. most_frequent = max(set(my_list),key=my_list.count
  3. print(most_frequent) 

輸出量

 

技巧10-查找列表中所有元素的出現

先前的代碼將提供最頻繁的值。 如果我們需要知道列表中所有唯一元素的出現,則可以使用收集模塊。 該集合是python中一個很棒的模塊,它提供了強大的功能。 Counter方法提供具有元素和出現對的字典。

 

  1. from collections import Counter 
  2. my_list = [1,2,3,1,4,1,5,5] 
  3. print(Counter(my_list)) 

輸出量

 

  1. Counter({1: 3, 5: 2, 2: 1, 3: 1, 4: 1}) 

技巧11-檢查兩個字符串的字謎

如果一個字符串由另一字符串中的字符組成,則兩個字符串是字謎。 我們可以在collections模塊中使用相同的Counter方法。

 

  1. from collections import Counter 
  2. my_string_1 = "RACECAR" 
  3. my_string_2 = "CARRACE" 
  4.  
  5. if(Counter(my_string_1) == Counter(my_string_2)):  
  6.     print("Anagram"
  7. else: print("Not Anagram"

輸出量

 

  1. Anagram 

技巧12-創建帶范圍的數字序列

函數range()對于創建數字序列很有用。 在許多代碼片段中,它可能很有用。 范圍函數的語法在此處編寫。

語法:range(開始,結束,步長)

讓我們嘗試創建一個偶數列表。

 

  1. my_list = list(range(2,20,2)) 
  2. print(my_list) 

輸出量

 

  1. [2, 4, 6, 8, 10, 12, 14, 16, 18] 

技巧13-多次重復元素

與字符串乘法相似,我們可以使用乘法運算符創建一個多次填充元素的列表。

 

  1. my_list = [3] 
  2. my_list = my_list*5 
  3. print(my_list) 

輸出量

 

  1. [3, 3, 3, 3, 3] 

技巧14-在三元運算符中使用條件

在大多數情況下,我們在Python中使用嵌套的條件結構。 除了使用嵌套結構,還可以在三元運算符的幫助下替換一行。 語法在下面給出。

語法:if True then Statement1 else Statement2

 

  1. if age > 20 then age = 25, print("czz"else print("不合格") 

輸出量

 

  1. 合格 

技巧15-使用Python列表推導表達式

列表推導表達式是從另一個列表創建列表的一種非常緊湊的方法。 看下面的代碼。 第一個是使用簡單的迭代編寫的,第二個是使用列表理解的。

 

  1. square_list = [] 
  2. for x in range(1,10):  
  3.     temp = x**2 square_list.append(temp
  4. print(square_list) 

輸出量

 

  1. [1, 4, 9, 16, 25, 36, 49, 64, 81] 

使用列表推導表達式

 

  1. square_list = [x**2 for x in range(1,10)] 
  2. print(square_list) 

輸出量

 

  1. [1, 4, 9, 16, 25, 36, 49, 64, 81] 

技巧16-將可變項轉換為不可變項

函數frozenset()用于將可變的可迭代對象轉換為不可變對象。 使用此方法,我們可以凍結對象的值更改。

 

  1. my_list = [1,2,3,4,5] 
  2. my_list = frozenset(my_list) 
  3. my_list[3]=7 
  4. print(my_list) 

輸出量

 

  1. Traceback (most recent call last): File "<string>", line 3, in <module>TypeError: 'frozenset' object does not support item assignment 

當我們將frozenset()函數應用于列表時,項目分配受到限制。

技巧17-用floor和Ceil四舍五入

Floor和Ceil是數學函數,可用于浮點數。 floor函數返回的整數小于浮點數,而ceil函數返回的整數大于浮點數。 要使用此功能,我們必須導入數學模塊。

 

  1. import math 
  2. my_number = 18.7 
  3. print(math.floor(my_number)) 
  4. print(math.ceil(my_number)) 

輸出量

 

  1. 1819 

技巧18-返回布爾值

有時我們必須通過檢查某些參數的條件來返回布爾值。 代替編寫if語句,我們可以直接返回條件。 以下程序將產生相同的輸出。

方法I-使用其他條件

 

  1. def function(n):  
  2.     if(n>10):  
  3.     return True  
  4.     elsereturn False 
  5.  
  6. n = int(input()) 
  7. if(function(n)):  
  8.    print("Eligible"
  9. else:  
  10.     print("Not Eligible"

方法II-無其他條件

 

  1. def function(n):  
  2.     return n>10 
  3.  
  4. n = int(input()) 
  5.  
  6. print("Eligible") if function(n) else print("Not Eligible"

輸出量

 

  1. Eligible 

技巧19-一行創建函數

Lambda是python中的匿名函數,可在一行中創建函數。 這里給出了使用lambda函數的語法。

語法:lambda 參數:表達式

 

  1. x = lambda a,b,c : a+b+c 
  2. print(x(10,20,30)) 

輸出量

 

  1. 60 

技巧20-將功能應用于列表中的所有元素

map是一個高階函數,它對列表中的所有元素應用特定功能。

語法:map(函數,可迭代)

 

  1. my_list = ["felix""antony"
  2. new_list = map(str.capitalize,my_list) 
  3. print(list(new_list)) 

輸出量

 

  1. ['Felix''Antony'

技巧21-將Lambda與map功能配合使用

該函數可以用python中的lambda函數替換。 創建以下程序以創建數字列表的平方。

 

  1. my_list = [1, 2, 3, 4, 5] 
  2. new_list = map(lambda x: x*x, my_list) 
  3. print(list(new_list)) 

輸出量

 

  1. [1, 4, 9, 16, 25] 

技巧22-從函數返回多個值

python函數可以返回多個值,而無需任何額外的需要。 我們可以通過用逗號分隔它們來返回值。

 

  1. def function(n):  
  2.     return 1,2,3,4 
  3.  
  4. a,b,c,d = function(5) 
  5. print(a,b,c,d) 

輸出量

 

  1. 1 2 3 4 

技巧23-使用filter函數過濾值

filter函數用于過濾可迭代對象中的某些值。 filter函數的語法如下。

語法:filter(函數,迭代)

 

  1. def eligibility(age):  
  2.     return age>=24 
  3.  
  4. list_of_age = [10, 24, 27, 33, 30, 18, 17, 21, 26, 25] 
  5. age = filter(eligibility, list_of_age) 
  6. print(list(age)) 

輸出量

 

  1. [24, 27, 33, 30, 26, 25] 

技巧24-用Python合并兩個字典

在python中,我們可以合并兩個字典,而無需任何特定方法。 下面的代碼是合并兩個字典的示例。

 

  1. dict_1 = {'One':1, 'Two':2} 
  2. dict_2 = {'Two':2, 'Three':3} 
  3. dictionary = {**dict_1, **dict_2} 
  4. print(dictionary) 

輸出量

 

  1. {'One': 1, 'Two': 2, 'Three': 3} 

技巧25-獲取對象的大小

內存大小根據對象的類型而變化。 我們可以使用sys模塊中的getsizeof()函數獲取對象的內存。

 

  1. import sys 
  2. a = 5 
  3. print(sys.getsizeof(a)) 

輸出量

 

  1. 28 

竅門26-將兩個列表組合成字典

郵編功能在python中有很多優點。 使用zip函數,我們可以從兩個列表創建字典。

 

  1. list_1 = ["One","Two","Three"
  2. list_2 = [1,2,3] 
  3. dictionary = dict(zip(list_1, list_2)) 
  4. print(dictionary) 

輸出量

 

  1. {'Two': 2, 'One': 1, 'Three': 3} 

技巧27-計算程序的執行時間

時間是python中另一個有用的模塊,可用于計算執行時間。

 

  1. import time 
  2. start = time.clock() 
  3. for x in range(1000):  
  4.   pass 
  5. end = time.clock() 
  6. total = end - start 
  7. print(total) 

輸出量

 

  1. 0.00011900000000000105 

技巧28-刪除列表中的重復元素

發生多次的元素稱為重復元素。 我們可以使用類型轉換簡單地刪除重復的元素。

 

  1. my_list = [1,4,1,8,2,8,4,5] 
  2. my_list = list(set(my_list)) 
  3. print(my_list) 

輸出量

 

  1. [8, 1, 2, 4, 5] 

技巧29-用python打印月歷

日歷模塊具有許多與基于日期的操作有關的功能。 我們可以使用以下代碼打印每月日歷。

 

  1. import calendar 
  2. print(calendar.month("2020","06")) 

輸出量

 

  1. June 2020 
  2. Mo Tu We Th Fr Sa Su  
  3. 1 2 3 4 5 6 7  
  4. 8 9 10 11 12 13 14 
  5. 15 16 17 18 19 20 21 
  6. 22 23 24 25 26 27 28 
  7. 29 30 

技巧30-使用zip功能進行迭代

zip函數允許使用循環迭代多個可迭代的過程。 在下面的代碼中,兩個列表同時被迭代。

 

  1. list_1 = ['a','b','c'
  2. list_2 = [1,2,3] 
  3. for x,y in zip(list_1, list_2): 
  4.   print(x,y) 

輸出量

 

  1. a 1b 2c 3 

總結思想

希望您喜歡這篇文章。 最后,您必須了解學習技巧不是必須的。 但是,如果這樣做,您將在其他程序員中獨樹一幟。 必須持續練習才能流利地編碼。 感謝您閱讀本文。 您可以在中等水平上關注我。

編碼愉快!

 

責任編輯:華軒 來源: 今日頭條
相關推薦

2020-05-08 19:52:31

Reactreact.js前端

2020-06-23 07:48:18

Python開發技術

2017-08-30 19:32:08

代碼程序員編程

2017-08-30 11:10:25

代碼

2020-08-06 00:25:38

Python代碼開發

2020-06-08 07:52:31

Python開發工具

2020-08-06 16:34:48

Python開發工具

2021-02-23 10:48:30

Python代碼開發

2014-07-29 13:55:10

程序員代碼

2016-12-13 10:06:25

編寫Java單元測試技巧

2021-03-17 08:00:59

JS語言Javascript

2023-03-27 15:05:10

Python技巧

2025-01-14 00:01:01

2017-09-14 12:45:35

2024-05-11 18:48:40

技巧代碼技能

2023-10-10 08:00:00

2014-04-21 10:14:52

PromisesJavaScript

2024-01-30 08:54:05

JavaScript技巧代碼

2023-10-07 14:37:10

Java開發

2022-07-20 08:21:00

Java代碼優化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩国产精品一区 | 91精品久久久久久久久中文字幕 | 亚洲免费在线观看 | 精品国产一区二区三区久久久蜜月 | 久久99精品久久久久 | 久久久精品网站 | 97久久精品午夜一区二区 | 国产视频二区 | 精品国产91亚洲一区二区三区www | 自拍偷拍在线视频 | 福利视频三区 | 日韩免费一二三区 | 亚洲综合视频 | 亚洲午夜在线 | 国产视频观看 | 久久国产精品一区二区 | 亚洲欧美日韩在线一区二区 | 99在线精品视频 | 亚洲精品一区在线观看 | 亚洲日日操| 玖玖视频免费 | 婷婷在线网站 | 国产成人精品一区二区三区在线 | 亚洲精品大片 | 亚洲精品99 | 亚洲精品9999久久久久 | 亚洲欧美综合 | 欧美激情久久久 | 99久久久国产精品 | 国产免费又色又爽又黄在线观看 | 久久综合影院 | 在线久草 | 欧美专区日韩专区 | www.日本三级 | 日日干夜夜草 | 中文字幕在线一 | 高清一区二区视频 | 二区成人| 国产成人精品免费视频大全最热 | 日本一区二区三区四区 | 国产二区精品视频 |