Hướng dẫn how do you run a loop in x times in python? - làm thế nào để bạn chạy một vòng lặp trong x lần trong python?

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 how do you run a loop in x times in python? - làm thế nào để bạn chạy một vòng lặp trong x lần trong python?

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 how do you run a loop in x times in python? - làm thế nào để bạn chạy một vòng lặp trong x lần trong python?

Felix Klingfelix KlingFelix Kling

773K172 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

773K172 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.94317 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'

where:

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__()

15K2 Huy hiệu vàng26 Huy hiệu bạc26 Huy hiệu đồngJun 9, 2015 at 11:47

Bạn nghĩ thế nào về?DangerMouse

hoặc theo một cách xấu xí hơn:6 silver badges20 bronze badges

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

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 10 lần?

Nếu bạn muốn vòng lặp chạy mười lần, bạn thay đổi điều kiện sao cho nó đánh giá là sai khi biểu thức tăng đã chạy mười lần. Vòng lặp chạy mười lần. Sau mười lần, điều kiện đánh giá là sai.change the condition such that it evaluates to false when the increment expression has ran ten times. The loop runs ten times. After ten times, the condition evaluates to false.

X trong vòng lặp Python là gì?

Trong ví dụ của bạn, x thứ hai là biến được sử dụng bởi vòng lặp và x đầu tiên chỉ đơn giản là một biểu thức, xảy ra trong trường hợp của bạn chỉ là x. Biểu thức có thể là bất cứ điều gì bạn thích, và không cần phải ở dạng x.the second x is the variable used by the for loop, and the first x is simply an expression, which happens in your case to be just x . The expression can be whatever you like, and does not need to be in terms of x .

Làm thế nào để bạn thực hiện một vòng lặp thời gian chạy một số lần nhất định?

Để lặp lại một cái gì đó trong một số lần nhất định, bạn có thể:..
Sử dụng phạm vi hoặc xrange cho i trong phạm vi (n): # làm gì đó ở đây ..
Sử dụng trong khi i = 0 trong khi i
Nếu biến vòng lặp I không liên quan, bạn có thể sử dụng _ thay vào đó cho _ trong phạm vi (n): # làm điều gì đó ở đây _ = 0 trong khi _

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!”)