The result of a list comprehension:  [['a', 'b', 'c'], ['ab', 'ac', 'bc'], ['abc']]   The challenge is to convert this into a single list, on one line, importing only itertools (if it helps)
Is there a simple way to flatten a list of iterables with a list comprehension, or failing that, what would you all consider to be the best way to flatten a shallow list like this, balancing performance and readability?  I tried to flatten such a list with a nested list comprehension, like this:  [image for image in menuitem for menuitem in list_of_menuitems]   But I get in trouble of the NameError variety there, because the name 'menuitem' is not defined.  After googling and looking around on Stack Overflow, I got the desired results with a reduce statement:  reduce(list.__add__, map(lambda x: list(x), list_of_menuitems))   But this method is fairly unreadable because I need that list(x) call there because x is a Django QuerySet object.  Conclusion:   Thanks to everyone who contributed to this question.  Here is a summary of what I learned.  I'm also making this a community wiki in case others want to add to or correct these observations.  My original reduce statement is redundant and is better written this way:  &gt;&gt;&gt; reduce(list.__add__, (list(mi) for mi in list_of_menuitems))   This is the correct syntax for a nested list comprehension (Brilliant summary !):  &gt;&gt;&gt; [image for mi in list_of_menuitems for image in mi]   But neither of these methods are as efficient as using itertools.chain:  &gt;&gt;&gt; from itertools import chain &gt;&gt;&gt; list(chain(*list_of_menuitems))   And as @cdleary notes, it's probably better style to avoid * operator magic by using chain.from_iterable like so:  &gt;&gt;&gt; chain = itertools.chain.from_iterable([[1,2],[3],[5,89],[],[6]]) &gt;&gt;&gt; print(list(chain)) &gt;&gt;&gt; [1, 2, 3, 5, 89, 6]
Formula Assistance I am creating a formula variable in a Flow but keep getting this error. Crop net Acres is a Number field. IF(     ISBLANK( [Opportunity].Crop_Net_Acres__c),     0,      ( [Opportunity].Crop_Net_Acres__c) )  Error Message:  netAcresFormula (Formula) - The formula expression is invalid: Syntax error. Missing '='  Any thoughts here? Sum of a power series $n x^n$ Mandatory child record when creating parent record In a 'bulleted' list should items that happen to be complete sentences end with a period? In indirect speech we generally backshift the tense. For ex - Direct speech : "I am the most powerful person." Indirect speech : "He said that he was the most powerful person."  What if someone reports like -  He denied the charges claiming that he is/was the most powerful person. So here which is correct- is or was ?  Thanks in advance. SQL Server 2000 on Windows 10 I need to install SQL Server MSDE 2000 SP4 on Windows 10.  I have other machines that run Windows 7 and 8.1 and SQL Server MSDE 2000 works fine (with merge replication configured too).  Now I testing the same scenario with Windows 10, but setup is closing unexpectedly during installation.  I know that this version is very old, but is there a workaround to install it on Windows 10? Suppose I have a field that contain the following data:   ========================== |  Email Address         | ========================== | Jack@wonderland.com    | | Peter@nobodyland.com   | | Jill@wonderland.com    | ==========================   Is there a calculated formula in SharePoint that will give me the following result? (It will help me to retrieve the sub-string from the Email Address column and give me the answer as shown in the UserName and Domain column):   =========================================================== |  Email Address         |  UserName  |      Domain       | =========================================================== | Jack@wonderland.com    |   Jack     |   wonderland.com  | | Peter@nobodyland.com   |   Peter    |   nobodyland.com  | | Jill@wonderland.com    |   Jill     |   wonderland.com  | =========================================================== If directory is empty do this, If directory is not empty do that Help with packages in java - import does not work I'm a C++ developer - not a java developer, but have to get this code working...  I have 2 public classes that will be used by another product.  I used the package directive in each of the java files.    package com.company.thing;  class MyClass ...   When I try to compile a test app that uses that I add   import com.company.thing.*;   The javac compiler fails with errors about com.company does not exist.  (even if I compile it in the same directory as the class files I just made a package of)  I am sure I am doing something bone-headed and silly.  I've read the  pages and tried to set up a directory structure like /com/company/thing  etc, but either I have totally screwed it all up or am missing something else.  EDIT thanks for the suggestions - I had tried the classpath previously.  It does not help.  I tried compiling   javac -classpath &lt;parent&gt; client.java    and the result is:  package com.company does not exist   I have the code I want to import (the two java files) in \com\company\product.  I compile those fine.  (they contain MyClass) I even made a jar file for them.  I copied the jar file up to the parent directory.  I then did (in the parent directory with the client java file)   javac -cp &lt;jarfile&gt; *.java   the result is:  cannot access MyClass bad class file: MyClass.class(:MyClass.class) class file contains wrong class: com.company.product.MyClass Please remove or make sure it appears in the correct subdirectory of the classpath.   EDIT  I got the client code to compile and run if I used the fully qualified name for MyClass and compiled it in the parent directory.  I am totally confused now.    compiled with no classpath set - just   javac *.java    in the parent directory - and it worked fine.  I can get a test app to compile, but that is not going to cut it when i have to integrate it into the production code.  Still looking for help.  EDIT:  Finally - not sure why it didn't work before - but I cleaned up all the files all over the directory structure and now it works.    Thanks This question has come up    ( ), but I'm finding the answers to be generally incomplete. The general question is "Why does/doesn't my job get killed when I exit/kill ssh?", and here's what I've found.  The first question is:  How general is the following information?  The following seems to be true for modern Debian linux, but I am missing some bits; and what do others need to know?   All child processes, backgrounded or not of a shell opened over an ssh connection are killed with SIGHUP when the ssh connection is closed only if the huponexit option is set: run shopt huponexit to see if this is true. If huponexit is true, then you can use nohup or disown to dissociate the process from the shell so it does not get killed when you exit.  Or, run things with screen. If huponexit is false, which is the default on at least some linuxes these days, then backgrounded jobs will not be killed on normal logout. But even if huponexit is false, then if the ssh connection gets killed, or drops (different than normal logout), then backgrounded processes will still get killed.  This can be avoided by disown or nohup as in (2). There is some distinction between (a) processes whose parent process is the terminal and (b) processes that have stdin, stdout, or stderr .  I don't know what happens to processes that are (a) and not (b), or vice versa.   Final question: How can I avoid behavior (3)?  In other words, by default in Debian backgrounded processes run along merrily by themselves after logout but not after the ssh connection is killed.  I'd like the same thing to happen to processes regardless of whether the connection was closed normally or killed.  Or, is this a bad idea?  Edit: Another, important way to keep jobs of being killed, that works (?) in either case is to run them through .  But, the question is more about understanding when things get killed and when they don't: sometimes people want the jobs to be killed on logout, for instance.  More threads: -  -  -  -  -  -  -  - Let $A$ be a $3\times 4$ and $b$ be a $3\times 1$ matrix with integer entries.Suppose that the system $Ax=b$ has a complex solution. Then which of the following are true? (CSIR December 2014)         $Ax=b$ has an integer solution.    $Ax=b$ has a rational solution.   The set of real solutions to $Ax=0$ has a basis consisting of rational solutions.   If $b$ is not equal to zero then $A$ has positive rank.      Is it possible to say that 1 and 2 are true as $Ax=b$ has a complex solution? If not  what we have to understand from the statement "the system $Ax=b$ has a complex solution " ? What about 3 and 4  ? After swapping the positions of the hour and the minute hand, when will a clock still give a valid time? I'm using pdfLatex (with --shell-escape option) and I had a problem of compilation with TexWorks that was successfully solved with the help of other post in this site: .  After correcting that error the code compiles smoothly but just displays the logarithmic grids, not the function. The gnuplot files are created in the right place, but the graphic doesn't come out in the PDF.  Code from :  \documentclass{article}  \usepackage{tikz} \usepackage{bodegraph}  \begin{document}  \begin{tikzpicture}[     gnuplot def/.append style={prefix={}}, % Fixed the issue (prefix was 'gnuplot/\jobname/' before) ] \begin{scope} \UnitedB \semilog{-1}{2}{-50}{60}  \BodeAmp{-1:1.35}{\POAmpAsymp{4}{2.0}+\IntAmp{1}}  \end{scope} \end{tikzpicture} \end{document}   Any clues? Is there a Unix command to get the absolute (and canonicalized) path from a relative path which may contain symbolic links? bibtex and genitive / possessive 's: the proper way to obtain "Kuran's (1989) model" Is there an automatic way to attach a genitive apostrophe or " ' s " to an author's name?  Currently I use:  \citeauthor{kuran1989}'s \citeyear{kuran1989}   But since this comes up regularily I'd like to know whether there's a general solution. Why is the \bf command applied to more than I asked? MWE:  \documentclass{article}  \usepackage{bm}  \begin{document} $$x(t), \bf{x}(t), \bf{x(t)}$$ \end{document}   Result:    Question:  Why are the second and third x(t) typeset the same? In the second  expression, it was asked to apply \bf to only x.  EDIT:  I had not payed attention to it when asking the question, but I would like to have a bold and italic x. Here is a question that's been bothering me since I was a sophomore in university, and should have probably asked before graduating:  In analytic (Lagrangian) mechanics, the derivation of the Euler-Lagrange equations from the principle of least action assumes that the start and end coordinates at the initial and final times are known. As a consequence, any variation on the physical path must vanish at its boundaries. This conveniently cancels out the contributions of the boundary terms after integration by parts, and setting the requirement for minimal action, we obtain the E.L. equations.  This is all nice and dandy, but our intention is finding the location of a particle at a time in the future, which we do not know a priori; after we derive any equations of motion for a system, we solve them by applying initial values instead of boundary conditions.   How are these two approaches consistent? How can I detect the encoding/codepage of a text file In our application, we receive text files (.txt, .csv, etc.) from diverse sources. When reading, these files sometimes contain garbage, because the files where created in a different/unknown codepage.  Is there a way to (automatically) detect the codepage of a text file?   The detectEncodingFromByteOrderMarks, on the StreamReader constructor, works for UTF8  and other unicode marked files, but I'm looking for a way to detect code pages, like ibm850, windows1252.     Thanks for your answers, this is what I've done.  The files we receive are from end-users, they do not have a clue about codepages. The receivers are also end-users, by now this is what they know about codepages: Codepages exist, and are annoying.  Solution:    Open the received file in Notepad, look at a garbled piece of text. If somebody is called François or something, with your human intelligence you can guess this. I've created a small app that the user can use to open the file with, and enter a text that user knows it will appear in the file, when the correct codepage is used.  Loop through all codepages, and display the ones that give a solution with the user provided text.  If more as one codepage pops up, ask the user to specify more text. Tikz, Tree without overlaps Insert issue with arrays