конвертировать вложенные списки в строку - PullRequest
2 голосов
/ 10 июня 2009

как я могу преобразовать следующий список в строку?

list1 = [[1, '1', 1], [2, '2', 2], [3, '3', 3]]

Результат: '1 1 1' '2 2 2' '3 3 3'

Спасибо

Ответы [ 5 ]

6 голосов
/ 10 июня 2009

Похоже на Python. Понимание списка делает это легко:

list1= [[1, '1', 1], [2,'2',2], [3,'3',3]]
outlst = [' '.join([str(c) for c in lst]) for lst in list1]

Выход:

['1 1 1', '2 2 2', '3 3 3']
1 голос
/ 10 июня 2009

здесь один лайнер

>>> print "'"+"' '".join(map(lambda a:' '.join(map(str, a)), list1))+"'"
'1 1 1' '2 2 2' '3 3 3'
1 голос
/ 10 июня 2009

Вы можете вызвать join для каждого из массивов. Пример:

list1= [[1, '1', 1], [2,'2',2], [3,'3',3]]

stringified_groups = []

list1.each do |group|
  stringified_groups << "'#{group.join(" ")}'"
end

result = stringified_groups.join(" ")

puts result

Это проходит через каждую из групп. Он объединяет группы с пробелом, а затем заключает их в одинарные кавычки. Каждая из этих групп сохраняется в массиве, это помогает форматировать на следующем шаге.

Как и прежде, строки соединяются с пробелом. Затем результат печатается.

0 голосов
/ 11 июня 2009

закончилось этим:

для a, b, c в данных: print (repr (a) + '' + repr (b) + '' + repr (c))

Мне нужно было записать вывод в текстовый файл, в котором метод write () мог принимать только тип str, здесь пригодилась функция repr ()

repr () - Ввод: объект; Выход: стр

... должен был заявить, что я работаю в Python, хотя ... спасибо за ввод

0 голосов
/ 10 июня 2009

Может быть и ruby, в этом случае вы сделаете что-то вроде:

list = [[1, '1', 1], [2,'2',2], [3,'3',3]]
list.join(' ')

, что приведет к "1 1 1 2 2 2 3 3 3"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...