Python Forum
producing numbers out of a list
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
producing numbers out of a list
#1
Hi, i want to produce 4 digit numbers out of the numbers in the list (like 1111, 1112, 1113, 1114,....)
How can i do that?

list_ = [1, 2, 3, 4] 
range = (1111, 44445)
Reply
#2
You need to explain more clearly what you are trying to do, and what have you tried to code this so far?
Reply
#3
for x in range(1, 5):
    print(f"111{x}")
Output:
1111 1112 1113 1114
Reply
#4
(Nov-09-2021, 08:09 PM)Yoriz Wrote: You need to explain more clearly what you are trying to do, and what have you tried to code this so far?

I want to add all possible 4 digit numbers that i can write by using [1, 2 ,3 ,4 ]
This is what i wrote so far but it's not the right way to do that.
list_1 = [1, 2, 3, 4]
list_2 = list()

for i in range(1111, 4445):
	i = str(i)
	for j in i: 
		if i.count(j) == 1: 
			list_2.append(i)
		else:	
			break
result = 0
	
for n in list_2:				
	n = int(n)
	result += n

print(result)
Reply
#5
Have a look at
https://docs.python.org/3/library/iterto...eplacement Wrote:itertools.combinations_with_replacement(iterable, r)
Return r length subsequences of elements from the input iterable allowing individual elements to be repeated more than once.

The combination tuples are emitted in lexicographic ordering according to the order of the input iterable. So, if the input iterable is sorted, the combination tuples will be produced in sorted order.

Elements are treated as unique based on their position, not on their value. So if the input elements are unique, the generated combinations will also be unique.
menator01 and bouraque7878 like this post
Reply
#6
Possibly want product. Although shoving the results together to make numbers isn't always trivial.

from itertools import product

digits = "1457"

for number_str in product(digits, repeat=4):
    number = int("".join(number_str))
    print(number)
Output:
1111 1114 1115 1117 1141 1144 1145 1147 ...
Reply
#7
(Nov-09-2021, 08:46 PM)bowlofred Wrote: Possibly want product. Although shoving the results together to make numbers isn't always trivial.

from itertools import product

digits = "1457"

for number_str in product(digits, repeat=4):
    number = int("".join(number_str))
    print(number)
Output:
1111 1114 1115 1117 1141 1144 1145 1147 ...

This is exactly what i was looking for. Thank you.
Reply
#8
What about if i want to product numbers out of the same digits without repition ?
I mean i don't want to product numbers like 1111, 1114, 1115 etc. I want to use a digit only once in a number.
Reply
#9
(Nov-12-2021, 04:14 PM)bouraque7878 Wrote: What about if i want to product numbers out of the same digits without repition ?
I mean i don't want to product numbers like 1111, 1114, 1115 etc. I want to use a digit only once in a number.

Then you want "permutations". You need to make sure you only give it each digit one time or it will repeat it.

from itertools import permutations

digits = "1457"

for number_str in permutations(digits, 4):
    number = int("".join(number_str))
    print(number)
Output:
1457 1475 1547 1574 1745 1754 4157 4175 ...
bouraque7878 likes this post
Reply
#10
Cheers my friend :)
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  How to change odd to even numbers in the list? plumberpy 8 1,005 Aug-08-2021, 11:07 AM
Last Post: plumberpy
  convert numbers into list lokesh 1 974 Jun-03-2021, 06:37 AM
Last Post: menator01
  adding numbers in a list Nickd12 2 1,029 Jan-15-2021, 12:46 PM
Last Post: Serafim
  Print max numbers in a list jimmoriarty 1 921 Sep-25-2020, 07:29 AM
Last Post: DPaul
  importing a list of numbers into python script barrypyth 8 1,954 Aug-22-2020, 09:10 PM
Last Post: barrypyth
  Summing a list of numbers Oldman45 6 1,265 Jul-12-2020, 05:30 PM
Last Post: Oldman45
  How do I calculate a ratio from 2 numbers and return an equivalent list of about 1000 Pleiades 6 8,093 Jul-01-2020, 03:53 PM
Last Post: ndc85430
  Topic: “Filter numbers with a list comprehension” (PyBite #107) Drone4four 4 1,161 Jun-11-2020, 08:31 PM
Last Post: Drone4four
  Assign the sum of 2 consecutive numbers in a list to a varibale Fenaz 3 1,103 Apr-05-2020, 10:30 PM
Last Post: bowlofred
  I don't think my program is producing the correct answer emmapaw24 1 935 Mar-31-2020, 01:13 AM
Last Post: stullis

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020