|  1 |    initial version    |  
Unless you provide more details about what you want to achieve, i guess you are not right in assuming that, see for example:
sage: C = [1, 2, 4, 6]                                                                                                                                                                                       
sage: prod(C)                                                                                                                                                                                                
48
sage: sum(C)                                                                                                                                                                                                 
13
 If you want to select some indicies with some for notation, you can do:
sage: prod(C[i] for i in [0,2,3])                                                                                                                                                                            
24
 As for cartesian product, you can do:
sage: B = [[1,2,3], [4,5,6], [7,8]]                                                                                                                                                                          
sage: from itertools import product                                                                                                                                                                          
sage: list(product(*B))                                                                                                                                                                                      
[(1, 4, 7),
 (1, 4, 8),
 (1, 5, 7),
 (1, 5, 8),
 (1, 6, 7),
 (1, 6, 8),
 (2, 4, 7),
 (2, 4, 8),
 (2, 5, 7),
 (2, 5, 8),
 (2, 6, 7),
 (2, 6, 8),
 (3, 4, 7),
 (3, 4, 8),
 (3, 5, 7),
 (3, 5, 8),
 (3, 6, 7),
 (3, 6, 8)]
     |  2 |    No.2 Revision    |  
Unless you provide more details about what you want to achieve, i guess you are not right in assuming that, see for example:
sage: C = [1, 2, 4, 6]                                                                                                                                                                                       
sage: prod(C)                                                                                                                                                                                                
48
sage: sum(C)                                                                                                                                                                                                 
13
 If you want to select some indicies with some for notation, you can do:
sage: prod(C[i] for i in [0,2,3])                                                                                                                                                                            
24
 As for cartesian product, you can do:
sage: B = [[1,2,3], [4,5,6], [7,8]]                                                                                                                                                                          
sage: from itertools import product                                                                                                                                                                          
sage: list(product(*B))                                                                                                                                                                                      
[(1, 4, 7),
 (1, 4, 8),
 (1, 5, 7),
 (1, 5, 8),
 (1, 6, 7),
 (1, 6, 8),
 (2, 4, 7),
 (2, 4, 8),
 (2, 5, 7),
 (2, 5, 8),
 (2, 6, 7),
 (2, 6, 8),
 (3, 4, 7),
 (3, 4, 8),
 (3, 5, 7),
 (3, 5, 8),
 (3, 6, 7),
 (3, 6, 8)]
  If you do not like Python tools:
sage: cartesian_product(B)                                                                                                                                                                                   
The Cartesian product of ({1, 2, 3}, {4, 5, 6}, {7, 8})
sage: for i in cartesian_product(B): 
....:     print(i)                                                                                                                                                                                        
(1, 4, 7)
(1, 4, 8)
(1, 5, 7)
(1, 5, 8)
(1, 6, 7)
(1, 6, 8)
(2, 4, 7)
(2, 4, 8)
(2, 5, 7)
(2, 5, 8)
(2, 6, 7)
(2, 6, 8)
(3, 4, 7)
(3, 4, 8)
(3, 5, 7)
(3, 5, 8)
(3, 6, 7)
(3, 6, 8)
 Again, if you want to select some indices:
sage: for i in cartesian_product([B[i] for i in [0,2]]): 
....:     print(i)
(1, 7)
(1, 8)
(2, 7)
(2, 8)
(3, 7)
(3, 8)
      |  3 |    No.3 Revision    |  
Unless you provide more precise details about what you want to achieve, i guess you are not right in assuming that, see for example:
sage: C = [1, 2, 4, 6]                                                                                                                                                                                       
sage: prod(C)                                                                                                                                                                                                
48
sage: sum(C)                                                                                                                                                                                                 
13
 If you want to select some indicies with some for notation, you can do:
sage: prod(C[i] for i in [0,2,3])                                                                                                                                                                            
24
 As for cartesian product, you can do:
sage: B = [[1,2,3], [4,5,6], [7,8]]                                                                                                                                                                          
sage: from itertools import product                                                                                                                                                                          
sage: list(product(*B))                                                                                                                                                                                      
[(1, 4, 7),
 (1, 4, 8),
 (1, 5, 7),
 (1, 5, 8),
 (1, 6, 7),
 (1, 6, 8),
 (2, 4, 7),
 (2, 4, 8),
 (2, 5, 7),
 (2, 5, 8),
 (2, 6, 7),
 (2, 6, 8),
 (3, 4, 7),
 (3, 4, 8),
 (3, 5, 7),
 (3, 5, 8),
 (3, 6, 7),
 (3, 6, 8)]
 If you do not like Python tools:
sage: cartesian_product(B)                                                                                                                                                                                   
The Cartesian product of ({1, 2, 3}, {4, 5, 6}, {7, 8})
sage: for i in cartesian_product(B): 
....:     print(i)                                                                                                                                                                                        
(1, 4, 7)
(1, 4, 8)
(1, 5, 7)
(1, 5, 8)
(1, 6, 7)
(1, 6, 8)
(2, 4, 7)
(2, 4, 8)
(2, 5, 7)
(2, 5, 8)
(2, 6, 7)
(2, 6, 8)
(3, 4, 7)
(3, 4, 8)
(3, 5, 7)
(3, 5, 8)
(3, 6, 7)
(3, 6, 8)
 Again, if you want to select some indices:
sage: for i in cartesian_product([B[i] for i in [0,2]]): 
....:     print(i)
(1, 7)
(1, 8)
(2, 7)
(2, 8)
(3, 7)
(3, 8)
 
 
                
                Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.