python技巧分享(十一)

2021-08-20 18:30:59 字數 1133 閱讀 3918

這是乙個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收穫。

my_iter = iter(my_list)

for e in my_iter:

print e, next(my_iter)

'''1 banana

2 grape

3 pear

'''借助iter函式,傳入list生成乙個迭代器,然後遍歷該迭代器,並呼叫next函式輸出迭代器的下乙個元素,到達每次讀取list中2個元素的目的。需要說明一下,list的元素最好是偶數個,否則讀取最後一對元素時,會由於迭代器元素已經讀取完畢,導致丟擲stopiteration異常。

import shlex

my_str = 'a b c "d e f" g'

print shlex.split(my_str)

# ['a', 'b', 'c', 'd e f', 'g']

print my_str.split()

# ['a', 'b', 'c', '"d', 'e', 'f"', 'g']

示例中,通過shlex.split函式,在split帶有引號的字串時,會自動忽略引號中的空格,將引號中的字串當成乙個完整字串。如果使用字串自帶的split函式,會發現引號中字串被split成3段。如果字串中有空格,且想單獨split成乙個元素,可以通過該方式實現。

my_list = ['a', 'b', 'c', 'd']

for idx, ch in enumerate(my_list):

print idx, ch

print

'-' * 3

for idx, ch in enumerate(my_list, 1):

print idx, ch

'''0 a

1 b2 c

3 d---

1 a2 b

3 c4 d

'''

有時遍歷list需要獲取元素的索引,借助enumerate函式,可以輕易實現該功能,並且enumerate函式還可以指定索引的初始值。由示例中可以看到,當指定了索引的起始值為1時,索引在1的基礎之上依次自增,預設索引是從0開始,所以可以同時獲取list元素的索引和值。

分享幾個冷門Python技巧

有很多文章介紹了python中各種很酷的功能 如變數拆包 偏函式 列舉可迭代物件等 但說到python時,還有很多東西可以談論。今天打算分享我所知道和使用的一些特性,這些我在其他地方很少見人提到過。整理字串輸入 對使用者輸入進行整理的問題幾乎適用於你編寫的所有程式。通常情況下,將字元轉換為小寫或大寫...

Python超級無敵技巧分享

這是乙個系列文章,主要分享python的使用建議和技巧,每次分享3點,希望你能有所收穫。注意 很多人學python過程中會遇到各種煩惱問題,沒有人解答容易放棄。為此小編建了個python全棧免費答疑.裙 七衣衣九七七巴而五 數字的諧音 轉換下可以找到了,不懂的問題有老司機解決裡面還有最新python...

Python 分享10個PyCharm技巧

0.pycharm 常用快捷鍵 1.檢視使用庫原始碼 pycharm 主程式設計師在 stackoverflow 上答道 經常聽人說,多看原始碼。原始碼不僅能幫我們搞清楚執行機制,還能學習優秀的庫或者框架的最佳實踐。呼叫庫時,你可以在你好奇的幾乎任何地方點選 command b,就可以很方便的跳轉到...