Hướng dẫn python run function x times - hàm chạy python x lần

99

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Cái nào là Pythonic hơn?

Trong khi lặp lại:

count = 0
while count < 50:
    print "Some thing"
    count = count + 1

Cho vòng lặp:

for i in range(50):
    print "Some thing"

EDIT: Không sao chép vì điều này có câu trả lời để xác định cái nào rõ ràng hơn, so với cách chạy một phạm vi mà không có 'i' - mặc dù cuối cùng lại là người thanh lịch nhất

hỏi ngày 24 tháng 11 năm 2010 lúc 8:10Nov 24, 2010 at 8:10

Hướng dẫn python run function x times - hàm chạy python x lần

LionellionelLionel

3.1104 Huy hiệu vàng26 Huy hiệu bạc40 Huy hiệu đồng4 gold badges26 silver badges40 bronze badges

3

Personally:

for _ in range(50):
    print "Some thing"

Nếu bạn không cần

for i in range(50):
    print "Some thing"
1. Nếu bạn sử dụng Python <3 và bạn muốn lặp lại vòng lặp rất nhiều lần, hãy sử dụng
for i in range(50):
    print "Some thing"
2 vì không cần phải tạo toàn bộ danh sách trước đó.

Đã trả lời ngày 24 tháng 11 năm 2010 lúc 8:13Nov 24, 2010 at 8:13

Hướng dẫn python run function x times - hàm chạy python x lần

Felix Klingfelix KlingFelix Kling

771K172 Huy hiệu vàng1069 Huy hiệu bạc1116 Huy hiệu Đồng172 gold badges1069 silver badges1116 bronze badges

7

Nếu bạn đang theo đuổi các tác dụng phụ xảy ra trong vòng lặp, cá nhân tôi sẽ thực hiện phương pháp

for i in range(50):
    print "Some thing"
3.

Nếu bạn quan tâm đến kết quả của bất kỳ chức năng nào bạn gọi trong vòng lặp, tôi sẽ tìm hiểu biết danh sách hoặc cách tiếp cận

for i in range(50):
    print "Some thing"
4. Một cái gì đó như thế này:

def f(n):
    return n * n

results = [f(i) for i in range(50)]
# or using map:
results = map(f, range(50))

Đã trả lời ngày 24 tháng 11 năm 2010 lúc 8:13Nov 24, 2010 at 8:13

Felix Klingfelix Klingknutin

771K172 Huy hiệu vàng1069 Huy hiệu bạc1116 Huy hiệu Đồng17 silver badges24 bronze badges

4

Nếu bạn đang theo đuổi các tác dụng phụ xảy ra trong vòng lặp, cá nhân tôi sẽ thực hiện phương pháp

for i in range(50):
    print "Some thing"
3.

from itertools import repeat

for unused in repeat(None, 10):
    del unused   # redundant and inefficient, the name is clear enough
    print "This is run 10 times"

Nếu bạn quan tâm đến kết quả của bất kỳ chức năng nào bạn gọi trong vòng lặp, tôi sẽ tìm hiểu biết danh sách hoặc cách tiếp cận

for i in range(50):
    print "Some thing"
4. Một cái gì đó như thế này:

Knutinknutin

4.93317 Huy hiệu bạc24 Huy hiệu đồngDec 15, 2014 at 11:36

Vòng lặp For chắc chắn là Pythonic hơn, vì nó sử dụng chức năng cấp cao hơn của Python để truyền đạt những gì bạn đang làm rõ hơn và chính xác hơn. Chi phí của phạm vi vs Xrange và gán một biến

for i in range(50):
    print "Some thing"
1 không sử dụng, xuất phát từ sự vắng mặt của một câu lệnh như câu lệnh
for i in range(50):
    print "Some thing"
6 của Verilog. Lý do chính để bám vào giải pháp cho phạm vi là các cách khác phức tạp hơn. Ví dụ:Yann Vernier

Sử dụng lặp lại thay vì phạm vi ở đây ít rõ ràng hơn vì nó không được biết đến là một chức năng và phức tạp hơn vì bạn cần nhập nó. Hướng dẫn kiểu chính nếu bạn cần tham khảo là PEP 20 - hướng dẫn phong cách Python và Pep 8 - cho mã Python.2 gold badges26 silver badges26 bronze badges

4

Chúng tôi cũng lưu ý rằng phiên bản phạm vi là một ví dụ rõ ràng được sử dụng trong cả tham chiếu ngôn ngữ và hướng dẫn, mặc dù trong trường hợp đó, giá trị được sử dụng. Nó không có nghĩa là hình thức chắc chắn sẽ quen thuộc hơn so với khi mở rộng kiểu C cho vòng lặp.

while BoolIter(N, default=True, falseIndex=N-1):
    print 'some thing'

Đã trả lời ngày 15 tháng 12 năm 2014 lúc 11:36

for _ in BoolIter(N):
    print 'doing somthing'

Yann Vernieryann Vernier

for lastIteration in BoolIter(N, default=False, trueIndex=N-1):
    if not lastIteration:
        print 'still going'
    else:
        print 'last time'

15K2 Huy hiệu vàng26 Huy hiệu bạc26 Huy hiệu đồng

class BoolIter(object):

    def __init__(self, n, default=False, falseIndex=None, trueIndex=None, falseIndexes=[], trueIndexes=[], emitObject=False):
        self.n = n
        self.i = None
        self._default = default
        self._falseIndexes=set(falseIndexes)
        self._trueIndexes=set(trueIndexes)
        if falseIndex is not None:
            self._falseIndexes.add(falseIndex)
        if trueIndex is not None:
            self._trueIndexes.add(trueIndex)
        self._emitObject = emitObject


    def __iter__(self):
        return self

    def next(self):
        if self.i is None:
            self.i = 0
        else:
            self.i += 1
        if self.i == self.n:
            raise StopIteration
        if self._emitObject:
            return self
        else:
            return self.__nonzero__()

    def __nonzero__(self):
        i = self.i
        if i in self._trueIndexes:
            return True
        if i in self._falseIndexes:
            return False
        return self._default

    def __bool__(self):
        return self.__nonzero__()

Bạn nghĩ thế nào về?Jun 9, 2015 at 11:47

hoặc theo một cách xấu xí hơn:DangerMouse

Hoặc nếu bạn muốn bắt lần cuối cùng thông qua:6 silver badges20 bronze badges

ở đâu:

map(lambda index:do_something(), xrange(10))

Đã trả lời ngày 9 tháng 6 năm 2015 lúc 11:47

for i in range(50):
    print "Some thing"
0

Dangermousedangermouse

6996 Huy hiệu bạc20 Huy hiệu Đồng

Không có một cách thực sự pythonic để lặp lại một cái gì đó. Tuy nhiên, đó là một cách tốt hơn:3 gold badges31 silver badges42 bronze badges

Nếu bạn cần vượt qua chỉ mục thì:Dec 15, 2014 at 11:01

2

Làm thế nào để bạn chạy một vòng lặp trong X lần trong Python?

Lặp lại n lần trong python bằng cách sử dụng hàm phạm vi ()..
Sao chép num = 10 cho x trong phạm vi (num): #code ..
Sao chép num = 10 cho _ trong phạm vi (num): #code ..
Sao chép nhập itertools num = 10 cho _ trong itertools. Lặp lại (Không, Num): #Code ..

Làm thế nào để bạn thực hiện một chức năng chạy một số thời gian nhất định trong Python?

Để lặp qua một bộ mã, một số lần được chỉ định, chúng ta có thể sử dụng hàm phạm vi (), hàm phạm vi () trả về một chuỗi số, bắt đầu từ 0 theo mặc định và tăng thêm 1 (theo mặc định) và kết thúc tại một số cụ thể.use the range() function, The range() function returns a sequence of numbers, starting from 0 by default, and increments by 1 (by default), and ends at a specified number.

Làm thế nào để bạn lặp lại 5 lần trong Python?

Cách lặp lại một chuỗi nhiều lần trong Python..
Xây dựng vấn đề và tổng quan về giải pháp ..
Phương pháp 1: Sử dụng toán tử print () và phép nhân ..
Phương pháp 2: Sử dụng một vòng lặp và phạm vi ().
Phương pháp 3: Sử dụng hàm đầu vào () ..
Phương pháp 4: Sử dụng itertools.repeat ().
Phương pháp 5: Sử dụng DataFrame ..
Summary..
Regex hài hước ..

Làm thế nào để bạn in 10 lần trong Python?

Ví dụ: Đếm = 0;Trong khi đếm <10: in ("Tên tôi là Vidyut") Đếm += 1 khác: in (Chuỗi chuỗi được in mười lần!print("My name is Vidyut") count += 1 else: print(“String is printed ten times!”)