Wie erweitere ich ein Listenverständnis mit zwei for-Schleifen in Python?Python

Python-Programme
Anonymous
 Wie erweitere ich ein Listenverständnis mit zwei for-Schleifen in Python?

Post by Anonymous »

Angesichts des folgenden Codes von Leetcode:

Code: Select all

def combine(self, n: int, k: int) -> List[List[int]]:
combs = [[]]
for _ in range(k):
combs = [[i] + c for c in combs for i in range(1, c[0] if c else n+1)]
return combs
Wie würde man vorgehen, um die innere Kämme-Schleife für bessere Lesbarkeit zu erweitern? Ich habe es unten versucht, erhalte jedoch Fehlermeldungen bezüglich der Indizierung außerhalb der Grenzen mit dem c[0]-Teil, sodass ich weiß, dass ich etwas falsch mache, aber ich konnte in ähnlichen Fragen zum Listenverständnis keinen finden, der dafür ziemlich ähnlich genug ist, um zu wissen, was ich tatsächlich falsch mache.

Code: Select all

for c in combs:
if c:
for i in range(1, c[0]):
combs.extend([i] + c)
else:
for i in range(1, n+1):
combs.extend([i] + c)
Irgendwelche Ideen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post