2017-02-06 4 views
-1

Ich möchte eine Liste wie diese haben:Python: Wie deklariert man eine Liste mit 1 beginnen und 4, 100 Elemente?

[1,5,9,13,17,21,25,29,33,37,…] 

(1) Wie es schnell zu erklären?

(2) Wie man es mit "Ertrag" macht?

+0

https: //docs.python .org/3/library/functions.html # func-range – spectras

+1

Sie können 'list (range (1.401,4))' verwenden. Bereich gibt einen Generator zurück, aber Sie können Ihren eigenen Generator mit 'yield' schreiben. –

+2

Mögliches Duplikat von [Python: Wie berechnet man eine Zusammenfassung einer Liste, ohne zuerst diese ganze Liste zu erstellen?] (Http://stackoverflow.com/questions/42059247/python-how-to-calculate-a-summary-of- a-Liste-ohne-Erstellung-diese-ganze-Liste-fi) –

Antwort

2

vielleicht können Sie dies versuchen:

def generate_list(size, interval): 
    flag = 0 
    number = 0 
    while True: 
     if flag >= size: 
      break 
     number += 1 
     if number % interval == 1: 
      flag += 1 
      yield number 


def print_list(): 
    for i in generate_list(100, 4): 
     print i 


print_list() 

, wenn Sie wollen nicht Schlüsselwort verwenden yield, können Sie diese Zeile Programm verwenden:

print list(range(1,401,4)) 
Verwandte Themen