voglio per determinare se un elenco contiene una certa stringa, quindi utilizzare un generatore di espressione, in questo modo:Python generatore di espressione parentesi stranezza
g = (s for s in myList if s == myString)
any(g)
Certo che voglio inline questo, così faccio:
any((s for s in myList if s == myString))
allora penso che apparirebbe più bello con singole parentesi, così cerco:
any(s for s in myList if s == myString)
non
davvero espe cting funziona. Sorpresa! lo fa!
Quindi questo Python legale o solo qualcosa che la mia implementazione consente? Se è legale, qual è la regola generale qui?
Grazie per la risposta. 'my_string in my_list' è stata la prima cosa che ho provato, ma non è riuscito a trovare una stringa che era presente. Ho concluso che stava facendo un confronto tra oggetti piuttosto che un confronto di valori, che è quello di cui ho bisogno. Controllerò di nuovo. – Ari
@Ari: No, confronta il valore. Non so cosa sia andato storto nel tuo caso. –
Sì, funziona. Credo di aver avuto qualche altro errore lì. – Ari