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
Converting a lists of characters into a list of strings
Python: How to make a list from a string while not making a list from every character of that string
How to force Python to use Double quotes and not apostrophes for strings?
The single quotes are just there to show you that it's a string. They are not actually part of the string.
I can't think of an easy way to change that. You would have to make your own str class, I think.
Hi 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