Как разбить список строк в списке? - PullRequest
0 голосов
/ 05 декабря 2018

Давайте возьмем:

my_list=[["a","b","c"],["d","e","f"],["g","h","i"],["j","k","l"]]

И результат, который я ищу:

0. a    _ b    (c)
1. d    _ e    (f)
2. g    _ h    (j)
3. j    _ k    (l)

Ответы [ 4 ]

0 голосов
/ 05 декабря 2018

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

print '\n'.join(str(n) +'. '+e[0] + ' _'+ e[1] + '  ('+e[2]+')' for n,e in enumerate(my_list))

Вы должны иметь:

0. a _b  (c)
1. d _e  (f)
2. g _h  (i)
3. j _k  (l)
0 голосов
/ 05 декабря 2018

Предполагая, что a, b, c ... являются целыми числами

A = [[8, 7, 2], [1, 4, 12], [6, 5, 4]]

B = "\n".join(["%d_%d(%d)" % tuple(a) for a in A])

print(B)

, если это строки (не очень понятно в вопросе), просто используйте% s вместо% d

0 голосов
/ 05 декабря 2018

Другой вариант:

lst = [['a','b','c'],['d','e','f'],['g','h','i'],['j','k','l']]

lines = [x[0]+'_'+x[1]+' ('+x[2]+')' for x in lst]
for i, line in enumerate(lines):
  print( str(i+1) + '. ' + line)

Возвращает:

# 1. a_b (c)
# 2. d_e (f)
# 3. g_h (i)
# 4. j_k (l)
0 голосов
/ 05 декабря 2018

Для точного вывода вашего вывода на консоль переберите внешний список и используйте enumerate и str.format:

values = [["a","b","c"],["d","e","f"],["g","h","i"],["j","k","l"]]

for i, x in enumerate(values):
    print("{}. {}    _ {}    ({})".format(i, *x))
# 0. a    _ b    (c)
# 1. d    _ e    (f)
# 2. g    _ h    (i)
# 3. j    _ k    (l)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...