Maison  >  Article  >  développement back-end  >  Une brève introduction à l'itération en Python (avec code)

Une brève introduction à l'itération en Python (avec code)

不言
不言avant
2018-09-28 14:24:381934parcourir

Cet article vous apporte une brève introduction à l'itération en Python (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

Itération liée

  • iter() : Convertir une séquence en itérateur

  • next() : Appeler automatiquement l'objet La méthode __next__() pour itérer l'objet

  • map() : prend une valeur de séquence en paramètre, appelle une fonction à son tour, renvoie une liste directement en python2, mais renvoie un itérateur en python3

# map经常配合lambdas来使用
items = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, items))

# 用于循环调用一列表的函数
def multiply(x):
        return (x*x)
def add(x):
        return (x+x)

funcs = [multiply, add]
for i in range(5):
    value = map(lambda x: x(i), funcs)
    print(list(value))

# Output:
# [0, 0]
# [1, 2]
# [4, 4]
# [9, 6]
# [16, 8]
  • filter() : filtre les éléments de la liste et renvoie une liste composée de tous les éléments qui répondent aux exigences, renvoyée directement en python2 list, mais renvoie un itérateur en python3

number_list = range(-5, 5)
less_than_zero = filter(lambda x: x < 0, number_list)
print(list(less_than_zero))  

# Output: [-5, -4, -3, -2, -1]
  • enumerate() : parcourt les données et compte automatiquement, et possède de nombreux paramètres facultatifs utiles

# 配置从哪个数字开始枚举
my_list = [&#39;apple&#39;, &#39;banana&#39;, &#39;grapes&#39;, &#39;pear&#39;]
for c, value in enumerate(my_list, 1):
    print(c, value)

# 输出:
(1, &#39;apple&#39;)
(2, &#39;banana&#39;)
(3, &#39;grapes&#39;)
(4, &#39;pear&#39;)
  • for-else
    La boucle for en Python a également une clause else Cette clause else sera exécutée à la fin normale de la boucle, donc elle. peut souvent être utilisé avec une pause d'utilisation.

for item in container:
    if search_something(item):
        # Found it!
        process(item)
        break
else:
    # Didn&#39;t find anything..
    not_found_in_container()

Introspection d'objet

  • dir() : renvoie une liste de propriétés et de méthodes appartenant à un objet, si aucun paramètre n'est transmis, il renverra tous les noms dans la portée actuelle

  • type() : Renvoie le type d'un objet

  • id( ): Renvoie l'ID unique de tout type d'objet différent

Extensions

functools

  • Reduce() lorsqu'une liste doit le faire be Réduire est une fonction très utile pour effectuer certains calculs et renvoyer les résultats.

from functools import reduce
product = reduce( (lambda x, y: x * y), [1, 2, 3, 4] )

# Output: 24

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer