久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

zip函數-求最長公共前綴

python解決問題的方法有很多:函數法、暴力法以及一些常見的算法等等,而且python 的很多基礎題用函數來解決是非常快捷的。熟練掌握函數的方法和技巧能夠更好地解決問題,思路更加清晰。

下面以leetcode”最長公共前綴”案例簡單介紹zip函數的應用。編寫一個函數來查找字符串數組中的最長公共前綴。如果不存在公共前綴,返回空字符串 ""

示例:

輸入: ["flower","flow","flight"]

輸出: "fl"

解決方案:

zip()函數用于將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的對象,最后需要轉換成list()來輸出列表。zip(*)可以將元組解壓為列表。

代碼示例:

a = [1,2,3]

b = [4,5,6]

print(list(zip(a,b)))

a1,a2 = zip(*zip(a,b))

print(list(a1))

print(list(a2))

[(1, 4), (2, 5), (3, 6)]

[1, 2, 3]

[4, 5, 6]

要解決最長的公共前綴,用zip函數是最簡單的??梢园演斎氲淖址當到M看成一個壓縮包,用zip(*)對壓縮包進行解壓,再判斷解壓出來的數組列表是否為重復元素數組,如果是則返回前綴。

解題思路:

首先給a賦值一個空的字符串""若前綴不存在返回空字符串a;

用for循環對解壓的字符串數組進行遍歷 ;

set()函數對解壓數組求不重復數組;

用if條件判斷不重復數組的長度是否為1;

若為1,則將數組的元素加到a中;

最后返回a。

代碼示例:

class Solution:

def longestCommonPrefix(self, strs: List[str]) -> str:

a = ""

for i in zip(*strs):

if len(set(i)) == 1:

a = a + i[0]

else:

break

return a

結語:

zip()是可迭代對象,使用時必須將其包含在一個list中,才能輸出結果。熟練掌握函數知識,善于用函數快速求解問題。Python的函數有很多,一個一個的去記又很麻煩,所以需要通過實際問題來掌握函數并巧妙的應用。

好啦!今天的分享到這里就結束了,希望大家持續關注馬哥教育官網!每天都會有大量優質內容與大家分享!版權聲明:轉載文章來自公開網絡,版權歸作者本人所有,推送文章除非無法確認,我們都會注明作者和來源。如果出處有誤或侵犯到原作者權益,請與我們聯系刪除或授權事宜。

相關新聞

歷經多年發展,已成為國內好評如潮的Linux云計算運維、SRE、Devops、網絡安全、云原生、Go、Python開發專業人才培訓機構!
<p id="o0hlv"></p><pre id="o0hlv"><label id="o0hlv"></label></pre>

      主站蜘蛛池模板: 云安县| 文水县| 通渭县| 武威市| 长宁区| 安化县| 巴东县| 亳州市| 汪清县| 龙江县| 连平县| 建湖县| 时尚| 修武县| 浑源县| 汤阴县| 图木舒克市| 磐安县| 犍为县| 华坪县| 曲阳县| 多伦县| 任丘市| 图片| 巴马| 建始县| 东莞市| 静乐县| 磴口县| 稻城县| 株洲县| 鸡泽县| 芒康县| 阿鲁科尔沁旗| 淄博市| 宁强县| 青铜峡市| 土默特左旗| 云阳县| 江津市| 随州市|