Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

"Set" classes are not iterable

Aperta
#65 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
52/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
python
Ambito
api

Direzione di ricerca

Inizia con le classi Set, inclusa tsp.trace_set.TraceSet, e individua le implementazioni di ExperimentSet, TraceSet, ConfigurationParameterDescriptorSet, ConfigurationSet, ConfigurationSourceSet e OutputDescriptorSet. Confronta il loro attuale comportamento come collezioni con i pattern di accesso nell’issue e nel commit di esempio collegato. Il lavoro è completato quando ogni classe può essere iterata direttamente e restituisce la propria dimensione con len(), mentre l’indicizzazione rimane opzionale.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

The Set classes, ExperimentSet, TraceSet, ConfigurationParameterDescriptorSet, ConfigurationSet, ConfigurationSourceSet and OutputDescriptorSet are not usable by themselves as collections.

This gives you access patterns like:

from tsp.trace_set import TraceSet

traces = TraceSet([{"name": "trace0"}, {"name": "trace1"}])

for trace in traces.traces:
    print(t.name)
# trace0
# trace1

print(len(traces.traces))
# 2

This is especially inconvenient when working with experiments, since to loop over traces, you must do:

for t in experiment.traces.traces

We could make the classes easier to work with by making them implement collection interfaces.

This would give you the following access patterns instead:

from tsp.trace_set import TraceSet

traces = TraceSet([{"name": "trace0"}, {"name": "trace1"}])

for trace in traces:
    print(t.name)
# trace0
# trace1

print(len(traces))
# 2

See example in this commit.

__getitem__ could be implemented as well to allow indexing with integers (traces[0]), but it is not implemented for Python sets, so it would make the "Set" classes look less like sets.

If this kind of functionality is wanted, I can help provide patches.

Lingua principale
Python
Stelle
6
Fork
16
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di eclipse-cdt-cloud/tsp-python-client

Tutte le issue di eclipse-cdt-cloud/tsp-python-client

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.