Follow along with the video below to see how to install our site as a web app on your home screen.
Huomio: This feature may not be available in some browsers.
Piti oikein etsiä, kun Pythonia en tunne: "list comprehension" on näköjään nimi tuolleTossa annetussa koodiesimerkissä asioita on lyhennelty ja lisätty toi taulukon (vai listako se pythonissa on?) muodostus suoraan argumentiksi
num + op for num, op in dataEi ole, jos ympärillä ei ole hakasulkuja. Jos ympärillä on tavalliset sulut, niin se on "generator expression", joka on tavallaan "laiska list comprehension", eli operaatiot suoritetaan vasta silloin kun niitä tarvitaan, ja sitä kokonaista uutta listaa ei koskaan muodosteta.Piti oikein etsiä, kun Pythonia en tunne: "list comprehension" on näköjään nimi tuollenum + op for num, op in data
Eivätkö nuo sulut kuulu StringinEi ole, jos ympärillä ei ole hakasulkuja. Jos ympärillä on tavalliset sulut, niin se on "generator expression", joka on tavallaan "laiska list comprehension", eli operaatiot suoritetaan vasta silloin kun niitä tarvitaan, ja sitä kokonaista uutta listaa ei koskaan muodosteta.
join() metodille?>>> a = [2,3,4,5]
>>> val ** 2 for val in a
File "<stdin>", line 1
val ** 2 for val in a
^
SyntaxError: invalid syntax
>>> (val ** 2 for val in a)
<generator object <genexpr> at 0x7fd90f97e9e0>
>>> [val ** 2 for val in a]
[4, 9, 16, 25]
>>> list(val ** 2 for val in a)
[4, 9, 16, 25]
>>> list((val ** 2 for val in a))
[4, 9, 16, 25]
#include <print>
#include <vector>
#include <ranges>
int main() {
std::vector a{2,3,4,5};
println("{:}", a | std::views::transform([](int n) { return n * n; }));
}
[4, 9, 16, 25]
Hyvä kysymys! Pythonissa on erikseen poikkeussääntö tilanteeseen, jossa generator expression on funktion/metodin ainut argumentti. Tällöin yhdet sulut riittää:Eivätkö nuo sulut kuulu Stringinjoin()metodille?
Sama se, jännää:
Python:>>> a = [2,3,4,5] >>> val ** 2 for val in a File "<stdin>", line 1 val ** 2 for val in a ^ SyntaxError: invalid syntax >>> (val ** 2 for val in a) <generator object <genexpr> at 0x7fd90f97e9e0> >>> [val ** 2 for val in a] [4, 9, 16, 25] >>> list(val ** 2 for val in a) [4, 9, 16, 25] >>> list((val ** 2 for val in a)) [4, 9, 16, 25]
C++23 imitoi:
Tulos:C++:#include <print> #include <vector> #include <ranges> int main() { std::vector a{2,3,4,5}; println("{:}", a | std::views::transform([](int n) { return n * n; })); }
Koodi:[4, 9, 16, 25]
The parentheses can be omitted on calls with only one argument.
Jos pieni koodailu ei haittaa niin hanki vaikka joku edullinen Teltonikan mobiilireititin ja käytä sen tekstiviestiominaisuutta. Et ole ulkopuolisten palveluiden armoilla ja maksat vain tavallisen tekstiviestin hinnan eli pakettiliittymissä käytännössä kuukausimaksulla saat ehkä kaikki kuukauden viestit lähetettyä.Mitä palvelua(API) kannattaisi käyttää ihan perus tekstiviestien lähettämiseen? Kotimaisen marjatilan varaus-/tilausjärjestelmä kyseessä ja keskimäärin noin 5 muistutusviestiä joutuisi päivän aikana varmaan lähettämään (ei ole automatisoitu järjestelmä, vaan nappia painamalla lähtee muistutus, jos asiakasta ei ala kuulumaan). Twiliota tuossa jo testailinkin, mutta löytyykö parempia vaihtoehtoja?
Kiitoksia vinkistä, itselläkin duunissa olisi tarve lähetellä tekstareita ja sattuu olemaan Teltonikan mobiilireititinkin talon varayhteytenä. Tosin se hankalampi osuus on saada järjestelmistä joihin ei ole juurikaan pääsyä tiedot ulos.Jos pieni koodailu ei haittaa niin hanki vaikka joku edullinen Teltonikan mobiilireititin ja käytä sen tekstiviestiominaisuutta. Et ole ulkopuolisten palveluiden armoilla ja maksat vain tavallisen tekstiviestin hinnan eli pakettiliittymissä käytännössä kuukausimaksulla saat ehkä kaikki kuukauden viestit lähetettyä.
Itse olen tuota Teltonikan API:a käyttänyt tekstiviestien lähettämiseen ja on toiminut moitteettomasti. Ei ole montaa riviä python-koodia mikä riittää tekstarin lähettämiseen. Vanhemmalla firmiksellä pystyisi käyttämään jopa HTTP POST -metodia jolloin käytännössä yhdellä koodirivillä pystyisi tekstarin lähettämään, mutta vanha firmis on aina vanha firmis, uudemmissa on aika paljon tietoturvapätsejä.
Käytämme välttämättömiä evästeitä, jotta tämä sivusto toimisi, ja valinnaisia evästeitä käyttökokemuksesi parantamiseksi.