標籤:

Python每日一練0003

問題

在每日一練0001中介紹了如何unpack一個可迭代對象,使用,運算符即可

但往往我們遇到的問題是可迭代對象中的數量是不確定的

這個時候該如何拿到我們想要的元素,比如我們只需要可迭代對象的第一個或者最後一個元素而已

解決方案

使用Python中的*運算符

例如我們需要拿到一個元組的第一個和最後一個元素

>>> zoo = (monkey, camel, python, owl, zebra)>>> first, *middle, last = zoo>>> print(first, last)monkey zebra

並且*也可以放在第一個元素的位置,比如我們想要拿到迭代器的最後一個元素

>>> zoo = (monkey, camel, python, owl, zebra)>>> *head, last = zoo>>> print(last)zebra

討論

使用*運算符,可以很方便的拿到迭代器的某些元素(在迭代器中數量不是確定的時候),雖然也可以使用循環來完成,但是使用*更加的簡潔

Python沒有規定如何丟掉某些元素,當需要丟掉某些元素的時候,我們可以用_來代替

當我們只想要第一個元素時

>>> zoo = (monkey, camel, python, owl, zebra)>>> first, *_ = zoo>>> print(first)monkey

來源

Python Cookbook

關注

歡迎關注我的微信公眾號:python每日一練

weixin.qq.com/r/YygOFnn (二維碼自動識別)

推薦閱讀:

Python generators, coroutines, native coroutines and async/await
Python分析中文文字有哪些方法,那些庫?
對numpy的一系列實驗
MaxCompute Studio使用心得系列6——一個工具完成整個Python UDF開發
Python built-in functions D&E

TAG:Python |