Quadrieren aller Elemente in einer Liste

7

Mir wurde gesagt,

Schreibe eine Funktion, Quadrat (a), die ein Array, ein, von Zahlen nimmt und ein Array zurückgibt, das jeden der Werte eines Quadrats enthält.

Zuerst hatte ich

%Vor%

Aber das funktioniert nicht, seit ich drucke und nicht zurückkomme, wie ich gefragt wurde. Also habe ich es versucht

%Vor%

Aber das quadriert nur die letzte Nummer meines Arrays. Wie kann ich die ganze Liste in Ordnung bringen?

    
user1692517 23.09.2012, 19:17
quelle

8 Antworten

20

Sie könnten ein Listenverständnis verwenden:

%Vor%

Oder du könntest map it:

%Vor%

Oder Sie könnten einen Generator verwenden. Es wird keine Liste zurückgeben, aber Sie können es immer noch durchlaufen, und da Sie keine komplette neue Liste zuweisen müssen, ist es möglicherweise platzsparender als die anderen Optionen:

%Vor%

Oder Sie können das langweilige alte for -loop machen, obwohl das nicht so idiomatisch ist, wie es einige Python-Programmierer bevorzugen würden:

%Vor%     
Waleed Khan 23.09.2012, 19:22
quelle
18

Verwenden Sie ein Listenverständnis (dies ist der Weg in reinem Python):

%Vor%

Oder numpy (ein bewährtes Modul):

%Vor%

In numpy werden mathematische Operationen für Arrays standardmäßig elementweise ausgeführt. Deshalb können Sie **2 ein ganzes Array dort.

Andere mögliche Lösungen wären map -based, aber in diesem Fall würde ich wirklich für das Listenverständnis gehen. Es ist Pythonic :) und eine map -basierte Lösung, die lambda s erfordert ist langsamer als LC .

    
Jan-Philip Gehrcke 23.09.2012 19:19
quelle
1
%Vor%     
Curious 23.09.2012 19:20
quelle
1

Verwenden Sie numpy.

%Vor%     
tacaswell 23.09.2012 19:24
quelle
1
%Vor%     
user3503711 09.11.2017 20:43
quelle
0
___ qstntxt ___

Mir wurde gesagt,

Schreibe eine Funktion, Quadrat (a), die ein Array, ein, von Zahlen nimmt und ein Array zurückgibt, das jeden der Werte eines Quadrats enthält.

Zuerst hatte ich

%Vor%

Aber das funktioniert nicht, seit ich drucke und nicht zurückkomme, wie ich gefragt wurde. Also habe ich es versucht

%Vor%

Aber das quadriert nur die letzte Nummer meines Arrays. Wie kann ich die ganze Liste in Ordnung bringen?

    
___ answer12555492 ___

Sie könnten ein Listenverständnis verwenden:

%Vor%

Oder du könntest %code% it:

%Vor%

Oder Sie könnten einen Generator verwenden. Es wird keine Liste zurückgeben, aber Sie können es immer noch durchlaufen, und da Sie keine komplette neue Liste zuweisen müssen, ist es möglicherweise platzsparender als die anderen Optionen:

%Vor%

Oder Sie können das langweilige alte %code% -loop machen, obwohl das nicht so idiomatisch ist, wie es einige Python-Programmierer bevorzugen würden:

%Vor%     
___ answer12555480 ___
%Vor%     
___ answer12555463 ___

Verwenden Sie ein Listenverständnis (dies ist der Weg in reinem Python):

%Vor%

Oder numpy (ein bewährtes Modul):

%Vor%

In %code% werden mathematische Operationen für Arrays standardmäßig elementweise ausgeführt. Deshalb können Sie %code% ein ganzes Array dort.

Andere mögliche Lösungen wären %code% -based, aber in diesem Fall würde ich wirklich für das Listenverständnis gehen. Es ist Pythonic :) und eine %code% -basierte Lösung, die %code% s erfordert ist langsamer als LC .

    
___ qstnhdr ___ Quadrieren aller Elemente in einer Liste ___ answer12555506 ___

Verwenden Sie numpy.

%Vor%     
___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ tag123arrays ___ Ein Array ist eine geordnete Datenstruktur, die aus einer Sammlung von Elementen (Werten oder Variablen) besteht, die jeweils durch einen oder mehrere Indizes identifiziert werden. Wenn Sie nach bestimmten Varianten von Arrays fragen, verwenden Sie stattdessen diese verwandten Tags: [Vektor], [Arraylist], [Matrix]. Wenn Sie dieses Tag verwenden, markieren Sie die Frage auch mit der verwendeten Programmiersprache, es sei denn, Ihre Frage bezieht sich nicht auf eine bestimmte Programmiersprache. ___ antwort12991915 ___

Eine weitere Kartenlösung:

%Vor%     
___ answer34282006 ___
%Vor%

Also, wie würde ich das Quadrat der Zahlen von 1-20 mit der obigen Funktion

tun     
___ answer47211195 ___
%Vor%     
___ tag123return ___ Eine return-Anweisung bewirkt, dass die Ausführung die aktuelle Subroutine verlässt und an der Stelle im Code unmittelbar nach dem Aufruf der Subroutine, der so genannten Rückkehradresse, fortgesetzt wird. Die Rücksprungadresse wird normalerweise im Aufrufstapel des Prozesses als Teil des Unterprogrammaufrufs gespeichert. Einige Programmiersprachen erlauben einer Funktion, einen oder mehrere Rückgabewerte anzugeben, die an den Code zurückgegeben werden, der die Funktion aufgerufen hat. ___ answer39934495 ___

Sie können

tun %Vor%

was zurückgibt

%Vor%

oder, wenn die Liste bereits Werte enthält

%Vor%

was zurückgibt

%Vor%

Hinweis : Sie möchten nicht

%Vor%

, da es eine Liste in einer Liste zurückgibt:

%Vor%     
___ tag123square ___ Mit den Square APIs können Entwickler Zahlungen online und persönlich verarbeiten sowie auf verschiedene Informationen in Square-Händlerkonten zugreifen. ___
hendrik 20.10.2012 19:31
quelle
0
%Vor%

Also, wie würde ich das Quadrat der Zahlen von 1-20 mit der obigen Funktion

tun     
Abrham Yep 15.12.2015 05:51
quelle
0

Sie können

tun %Vor%

was zurückgibt

%Vor%

oder, wenn die Liste bereits Werte enthält

%Vor%

was zurückgibt

%Vor%

Hinweis : Sie möchten nicht

%Vor%

, da es eine Liste in einer Liste zurückgibt:

%Vor%     
9 Guy 08.10.2016 16:06
quelle

Tags und Links