Suppose I have two lists ['a', 'b'] and ['m', 'c']. Is there a quick and dirty way to "multiply" them in such a way that the resulting array would be the list of combinations of each element in both arrays, i.e.,   [ ['a', 'm'], ['a', 'c'], ['b', 'm'], ['b', 'c'] ]
1477
How can I get the Cartesian product (every possible combination of values) from a group of lists?  Input:   somelists = [    [1, 2, 3],    ['a', 'b'],    [4, 5] ]   Desired output:  [(1, 'a', 4), (1, 'a', 5), (1, 'b', 4), (1, 'b', 5), (2, 'a', 4), (2, 'a', 5) ...]
467
How do you generate all the permutations of a list in Python, independently of the type of elements in that list?  For example:  permutations([]) []  permutations([1]) [1]  permutations([1, 2]) [1, 2] [2, 1]  permutations([1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1, 3] [2, 3, 1] [3, 1, 2] [3, 2, 1]
101060
How would I go about generating a list of all possible permutations of a string between x and y characters in length, containing a variable list of characters.  Any language would work, but it should be portable.
112773
I need to be able to take a string like:  '''foo, bar, "one, two", three four'''   into:  ['foo', 'bar', 'one, two', 'three four']   I have an feeling (with hints from #python) that the solution is going to involve the shlex module.
28573
I want to make an enumerated list in the following format:  [1] foo foo [2] foo foo ...    How I can do that using enumerated lists? I have tried the following:  \begin{enumerate}[\left[ 1 \right]]   but it does not work.
23598
What's the most efficient way to concatenate strings?
100685
Is there an easy way of finding the neighbours (that is, the eight elements around an element) of an element in a two-dimensional array? Short of just subtracting and adding to the index in different combinations, like this:  array[i-1][i] array[i-1][i-1] array[i][i-1] array[i+1][i]   ... And so on.
1436
Imagine that you have the following list. keys = ['name', 'age', 'food'] values = ['Monty', 42, 'spam']  What is the simplest way to produce the following dictionary? a_dict = {'name': 'Monty', 'age': 42, 'food': 'spam'}
43386
Is there a more concise way of doing this in Python?:  def toDict(keys, values):   d = dict()   for k,v in zip(keys, values):     d[k] = v    return d
70689
Now,I have two files:  aaaa.txt:  a=0; b=1; c=2;   bbbb.txt:  d=3 e=4 f=5   I want to merge aaaa.txt and bbbb.txt to cccc.txt.   cccc.txt as follow:  a=0;d=3 b=1;e=4 c=2;f=5   So, what can I do for this?
13959
I've got two arrays of the same size.  I'd like to merge the two so the values of one are the key indexes of the new array, and the values of the new array are the values of the other.  Right now I'm just looping through the arrays and creating the new array manually, but I have a feeling there is a much more elegant way to go about this.  I don't see any array functions for this purpose, but maybe I missed something?  Is there a simple way to this along these lines?  $mapped_array = mapkeys($array_with_keys, $array_with_values);
87498
I've gotten stuck at the following exercise;     There are m functions from a one-element set to the set {1, 2, …, m}.   How many functions are there from a two-element set to {1, 2, …, m}?   From a three-element set? Give a recurrence for the number of T(n) of   functions from an n-element set to {1, 2, …, m}. Solve the recurrence.   I'm not sure how to begin solving it?
117995
WTS:  ${n+1\choose k+1}={k\choose k}+{k+1\choose k}+...+{n-1\choose k}+{n\choose k}.$  Algebraically, it is possible, although tedious to show. Is there any combinatorial approach to show this fact?
44578
Say I have two lists:  var list1 = new int[] {1, 2, 3}; var list2 = new string[] {"a", "b", "c"};   Is it possible to write a LINQ statement that will generate the following list:  var result = new []{      new {i = 1, s = "a"},     new {i = 1, s = "b"},     new {i = 1, s = "c"},     new {i = 2, s = "a"},     new {i = 2, s = "b"},     new {i = 2, s = "c"},     new {i = 3, s = "a"},     new {i = 3, s = "b"},     new {i = 3, s = "c"} };   ?  Edit: I forgot to mention I didn't want it in query syntax. Anyway, based on preetsangha's answer I've got the following:  var result = list1.SelectMany(i =&gt;  list2.Select(s =&gt; new {i = i, s = s}));
68354
Is there anyway to get tuple operations in Python to work like this:  &gt;&gt;&gt; a = (1,2,3) &gt;&gt;&gt; b = (3,2,1) &gt;&gt;&gt; a + b (4,4,4)   instead of:  &gt;&gt;&gt; a = (1,2,3) &gt;&gt;&gt; b = (3,2,1) &gt;&gt;&gt; a + b (1,2,3,3,2,1)   I know it works like that because the __add__ and __mul__ methods are defined to work like that. So the only way would be to redefine them?
67149
I'm trying to create an array of arrays that will be using repeated data, something like below:  int[] list1 = new int[4] { 1, 2, 3, 4 }; int[] list2 = new int[4] { 5, 6, 7, 8 }; int[] list3 = new int[4] { 1, 3, 2, 1 }; int[] list4 = new int[4] { 5, 4, 3, 2 };  int[,] lists = new int[4, 4] {  list1 ,  list2 ,  list3 ,  list4  };   I can't get it to work and so I'm wondering if I'm approaching this wrong.   What I'm attempting to do is create some sort of method to create a long list of the values so I can process them in a specific order, repeatedly. Something like,  int[,] lists = new int[90,4] { list1, list1, list3, list1, list2, (and so on)};  for (int i = 0; i &lt; 90; ++i) {    doStuff(lists[i]); }   and have the arrays passed to doStuff() in order. Am I going about this entirely wrong, or am I missing something for creating the array of arrays?
80374
If I have this string:     2+24*48/32   what is the most efficient approach for creating this list:     ['2', '+', '24', '*', '48', '/', '32']