2013-09-16 3 views
0

Рассматриваемый массив питона «MyArray» содержит:Как извлечь строку из списка python?

mylist = [u'a',u'b',u'c'] 

Я хотел бы строку, содержащую все элементы массива, сохраняя при этом двойные кавычки, как это (обратите внимание, как там нет скобок, а скобка вместо этого):

result = "('a','b','c')" 

Я попытался с помощью ",".join(mylist), но это дает мне результат «а, б, в» и устранили одиночные кавычки.

+0

Как вы намерены преобразовать Unicode в байты? –

ответ

6

Вы были совсем близко, это, как я бы это сделал:

result = "('%s')" % "','".join(mylist) 
-1

Что относительно repr()?

>>> repr(tuple(mylist)) 
"(u'a', u'b', u'c')" 

Более подробную информацию о repr()

+0

Я только что видел, что вы хотите скобки ... –

1

Что об этом:

>>> mylist = [u'a',u'b',u'c'] 
>>> str(tuple(map(str, mylist))) 
"('a', 'b', 'c')" 
-1

Попробуйте это :

result = "({})".format(",".join(["'{}'".format(char) for char in mylist])) 
0
>>> l = [u'a', u'b', u'c'] 
>>> str(tuple([str(e) for e in l])) 
"('a', 'b', 'c')" 

str Вызов на каждом элементе e списка l превратит строку Unicode в сырой строки. Затем вызов tuple в результате понимания списка заменит квадратные скобки скобками. Наконец, вызывая str, результат должен вернуть список элементов с одинарными кавычками, заключенными в круглые скобки.

0

Вот еще один вариант:

mylist = [u'a',u'b',u'c'] 
result = "\"{0}\"".format(tuple(mylist)) 
print(result) 

Выход:

"('a', 'b', 'c')"  
Смежные вопросы