Use ''.join:
xs = ['1', '2', '3']
s = ''.join(xs)
If the list contains integers, convert the elements to string before joining them:
xs = [1, 2, 3]
s = ''.join(str(x) for x in xs)
Answer from Senthil Kumaran on Stack OverflowConverting list to string
Python AI game: convert list of lists and string to set
python String to list conversion strip(), split(',')
Convert text into a python list, save to a file as a list.
Convert it to a string first:
e.write(str(english_words))
Or:
e.write(repr(english_words))
I think it's better not to open it as binary, just do 'w' instead of 'wb'.
More on reddit.comHi everyone, I just wanted to know what is the best way to convert an entire list to a simple string element. I was trying out stuff I learned by coding a (very) simple password generator and I am stuck at figuring out how to output the password as a single string (without the empty spaces and brackets) instead of getting the entire array.
My code :
import string
import random
letters = list(string.ascii_lowercase)
#Generates a random password with default value of 3 numbers and 3 letters (x and y arguments)
def password_gen(x=3, y=3):
char_list = []
#Returns a random letter
def add_letter() :
return random.choice(letters)
#Returns a random number (0-9)
def add_number() :
return int(random.random()*10)
#Loops to add the correct number of random characters
i = 0
while i < x :
char_list.append(add_letter())
i+=1
i=0
while i < y :
char_list.append(add_number())
i+=1
#Shuffles the list and returns it as the generated password
random.shuffle(char_list)
return char_list
password = str(password_gen(5, 5))
print(password)
Currently the output gives something looking like this : ['p', 3, 5, 9, 'o', 'v', 'a', 9, 't', 3] and I want it to look like this p359ova9t3