I want to loop over a list of strings and construct different functions with each string. It looks like references to the string variable are being stored. So when I call each of the foo functions they each only use the last assignment to s. Is there a different way to achieve this?  los = ['hello', 'and', 'bye'] foos = [] for s in los:     k = s     def foo_():         print k     foos.append(foo_)  for i in foos:     i()   prints   bye bye bye
While I was investigating a problem I had with lexical closures in Javascript code, I came along this problem in Python:  flist = []  for i in xrange(3):     def func(x): return x * i     flist.append(func)  for f in flist:     print f(2)   Note that this example mindfully avoids lambda. It prints "4 4 4", which is surprising. I'd expect "0 2 4".   This equivalent Perl code does it right:  my @flist = ();  foreach my $i (0 .. 2) {     push(@flist, sub {$i * $_[0]}); }  foreach my $f (@flist) {     print $f-&gt;(2), "\n"; }   "0 2 4" is printed.  Can you please explain the difference ?    Update:   The problem is not with i being global. This displays the same behavior:  flist = []  def outer():     for i in xrange(3):         def inner(x): return x * i         flist.append(inner)  outer() #~ print i   # commented because it causes an error  for f in flist:     print f(2)   As the commented line shows, i is unknown at that point. Still, it prints "4 4 4".
Compute $\mathbb{P}\{ W_t < 0 \, \, \text{for all} \, \, 1 < t < 2\}$ for a Brownian motion $(W_t)_{t \geq 0}$ Let $(W_t)_{t \ge 0}$ be a standard one-dimensional Brownian motion. Calculate $$\mathbb{P}\{ W_t &lt; 0 \, \, \text{for all} \, \, 1 &lt; t &lt; 2\}.$$ I can only think that this will be conditional on $W_1$. Please tell how to proceed? Can I fly back to Italy if my Italian residency card has expired and is being renewed? I have a residence permit (permesso di soggiorno) for Italy. I am currently in the Netherlands for an exchange. My permit expired on the 30th of November and I applied for a new one but I will get the card in January. I have the documents supporting that I have applied for the renewal of the permit. In the middle I want to travel to Italy for Christmas and come back to the Netherlands.    Would this be a problem? In which situations is it OK to omit articles in short sentences? Recently, in many new online software I often see that developers omit articles in short sentences, especially on action buttons or tooltips.     For instance: "Add new task" (not "Add a new task"), "Create project" (not "Create a project"), but often in the same software I can see "Make a copy". What are situations it can be justified? IVP Differential Equation I have stumbled across a very old exam question from my linear algebra course and the solutions are not available. I was wondering if my working/logic is correct and if any improvements can be made.     Let  $\ B=\begin{pmatrix}     1 &amp; -1 &amp; 4 \\     6 &amp; -7 &amp; 2 \\     -3 &amp; 1 &amp; -6       \end{pmatrix}\ $ and $\ \vec{v_1}=\begin{pmatrix} 1 \\ 1 \\ -1 \end{pmatrix}$.      Part (i): Calculate $(B+5I)\vec{v_1}$ and $(B+5I)^2\vec{v_1}$.   Using simply matrix multiplication, I calculated $(B+5I)\vec{v_1}=\begin{pmatrix} 1 \\ 2 \\ -1 \end{pmatrix}$ and $(B+5I)^2\vec{v_1}=\vec{0}$.     Part (ii): Find all eigenvalues and eigenvectors of B.   From our calculations in part (i), we can see that $\ \lambda=-5,-5$ are two of the eigenvalues, with corresponding eigenvector $\ \begin{pmatrix} 1 \\ 2 \\ -1 \end{pmatrix}$ and generalised eigenvector $\ \begin{pmatrix} 1 \\ 1 \\ -1 \end{pmatrix}$. From the trace of B, the remaining eigenvalue is $\lambda=-2$ with corresponding eigenvector $\begin{pmatrix} -2 \\ -2 \\ 1 \end{pmatrix}$.     Part (iii): Giving reasons, write down a basis for the generalised eigenspace $GE_{-5}$ of B.   I am unsure of this part of the question. If I had to guess, I would say a basis for $GE_{-5}=\left\{\begin{pmatrix} 1 \\ 1 \\ -1 \end{pmatrix},\begin{pmatrix} 1 \\ 2 \\ -1 \end{pmatrix}\right\}$. Is this correct?     Part (iv): Solve the initial value problem $\vec{y'}=B\vec{y}$ where $\ B=\begin{pmatrix}     1 &amp; -1 &amp; 4 \\     6 &amp; -7 &amp; 2 \\     -3 &amp; 1 &amp; -6       \end{pmatrix}\ $ and $\vec{y}(0)=\begin{pmatrix} 1 \\ 1 \\ -1 \end{pmatrix}$.   Well, the solution to this IVP will take the form $\vec{y}=e^{tB}\begin{pmatrix} 1 \\ 1 \\ -1 \end{pmatrix}$. I noticed that $\begin{pmatrix} 1 \\ 1 \\ -1 \end{pmatrix}$ was a generalised eigenvector and hence we can write $\vec{y}=e^{-5t}\begin{pmatrix} 1 \\ 1 \\ -1 \end{pmatrix}+e^{-5t}\begin{pmatrix} 1 \\ 2 \\ -1 \end{pmatrix}t$. Thus $\vec{y}=e^{-5t}\begin{pmatrix} 1+t \\ 1+2t \\ -1-t \end{pmatrix}$ For me, it is pretty clear that $a + \overline{a}*b = a + b$, because the first $a$ in the or will make sure that if the second term must be 'evaluated', $a$ will always be false, and therefore won't matter in the and - probably because I'm a programmer and it is very common to see this unnecessary cluttering in long if-else structures.  I can easily prove it with the truth table as well, just make both expressions', and turns out they are identical.  But I was looking for a 'algebraic' way to prove it. That is, something using the basic operations properties like the fact that they are transitive, commutative, associative, etc. For example, if I was to prove this other simple identity $a + a*b = a$ I would simply do something like:  $a + a*b = a*(1 + b) = a*1 = a$.  Is there a way to also prove the former using this algebraic operations, without resorting to the truth table? I'm trying to work with  in Java.   I want to implement arithmetic functions.  For this, I will first require a way to normalize the functions.  I know I can't add 1/6 and 1/2 until I have a common denominator. I will have to add 1/6 and 3/6.  A naive approach would have me add 2/12 and 6/12 and then reduce.  How can I achieve a common denominator with the least performance penalty?  What algorithm is best for this?    Version 8 (thanks to ):     Improvements include:         the equals() method is now consistent with the compareTo() method      final class Fraction extends Number {     private int numerator;     private int denominator;      public Fraction(int numerator, int denominator) {         if(denominator == 0) {             throw new IllegalArgumentException("denominator is zero");         }         if(denominator &lt; 0) {             numerator *= -1;             denominator *= -1;         }         this.numerator = numerator;         this.denominator = denominator;     }      public Fraction(int numerator) {         this.numerator = numerator;         this.denominator = 1;     }      public int getNumerator() {         return this.numerator;     }      public int getDenominator() {         return this.denominator;     }      public byte byteValue() {         return (byte) this.doubleValue();     }      public double doubleValue() {         return ((double) numerator)/((double) denominator);     }      public float floatValue() {         return (float) this.doubleValue();     }      public int intValue() {         return (int) this.doubleValue();     }      public long longValue() {         return (long) this.doubleValue();     }      public short shortValue() {         return (short) this.doubleValue();     }      public boolean equals(Fraction frac) {         return this.compareTo(frac) == 0;     }      public int compareTo(Fraction frac) {         long t = this.getNumerator() * frac.getDenominator();         long f = frac.getNumerator() * this.getDenominator();         int result = 0;         if(t&gt;f) {             result = 1;         }         else if(f&gt;t) {             result = -1;         }         return result;     } }     I have removed all previous versions.  My thanks to: Does going outside of range or line of sight after casting a spell have any effect? l, ls & la -- what are the differences, and are there more of these commands? How do I view 'git diff' output with my preferred diff tool/ viewer? When I type git diff, I want to view the output with my visual diff tool of choice (SourceGear "diffmerge" on Windows). How do I configure git to do this? Django Template Variables and Javascript When I render a page using the Django template renderer, I can pass in a dictionary variable containing various values to manipulate them in the page using {{ myVar }}.  Is there a way to access the same variable in Javascript (perhaps using the DOM, I don't know how Django makes the variables accessible)? I want to be able to lookup details using an AJAX lookup based on the values contained in the variables passed in. Random Sample vs. As Large a Sample as Possible? I'm struggling to differentiate scenarios where you would use random sampling vs. getting as large a sample as possible. For instance, one thing I am trying to test is the notion that being in a "home" arena boosts player performance.  I have collected individual football game data for every game over the past 10 years. I have over 34000 observations of players performance during this time span. Would it have been more prudent for me to take a random sample of say, 1000 players over the past 10 years?  I just don't understand why, in the above scenario, I'd take a random sample of 1000 when I can just take all of the players performances from the past 10 years. Do I need an airport transit visa through Switzerland (Schengen) if I have no Schengen visa? Do I need an airport transit visa through Switzerland if I have no Schengen visa? Am traveling from Cairo to Moscow via Swiss Air What is the need of acceleration? As we can usually predict the various forces that a body might be undergoing based on its position and its velocity.Hence what is the need of acceleration? A way to store potentially infinite 2D map data? I have a 2D platformer that currently can handle chunks with 100 by 100 tiles, with the chunk coordinates are stored as longs, so this is the only limit of maps (maxlong*maxlong). All entity positions etc etc are chunk relevant and so there is no limit there.  The problem I'm having is how to store and access these chunks without having thousands of files. Any ideas for a preferably quick &amp; low HD cost archive format that doesn't need to open everything at once? While reviewing "First Posts" on Stack Overflow, I often come across new users posting comments as answers. It seems (at least to me) they are not doing this because they are unaware of how Stack Overflow works but because they can't comment on any question they are forced to put it as answer.  I have found duplicate questions for my request like:   ,  and    but the best explanation I have found is an  to .     I think the main reason this isn't supported is there's no way to   downvote comments, which would make them attractive to spammers. If   somebody comments on the top answer in a question the only way to get   rid of it is for six people to flag it. Comment flags don't show up on   10k tools, so it needs to be six people that happen to stumble across   the spam comment, or a moderator that checks the list manually. People   can comment every 15 seconds, so that can get out of hand pretty   quickly. Comments also aren't listed on the user's profile page, so   it's hard to see at a glance if a user has been spamming   So I am suggesting allowing new users (with less than 50 reputation points) to comment only 5 times every day or only 25 times times until they reach 50 reputation points or any other variation of it. Remove duplicate fields in a given column (after ID check) Which is correct: I'll be moving next month or I'll be shifting next month? For changing one's home from one place to another, I've heard people in western part of the world using the sentence:      I'll be moving next month.   In India, even in the English news channels, I've heard many people using the phrase:     I'll be shifting next month.   Which one is the correct usage? Or are both of them correct and the difference in usage is regional? Unity doesn't load, no Launcher, no Dash appears When I login, nothing happens.   I am presented with my desktop wallpaper.    No Dash, no Launcher, nothing. I am trying to teleport a player to certain coordinates once they enter an area.  The idea is that they walk into a really small building, but once they turn a corner, they get teleported into a larger building.   Please refer to the adventure map named '5 Cubed', if you need help understanding what I am asking. Are there network-wide reputation leagues? I would love to see which people have the most network-wide reputation, how can I see that?