这是一个允许我打印我的两个列表cursosArreglo
和tareasArreglo
的功能,但是当我打印它们时,它们会像这样出现:[['qwert'], ['fisica']]
Esta es la lista de tareas y sus prioridades:
[['zxcvb'], ['4'], ['nbvcx'], ['3'], ['tregd'], ['2'], ['bvxx'], ['3']]
如何在没有括号的情况下打印两个列表?
def verTareas():
print("")
print("Saludos "+nombre+(" a continuacion puede ver su informacion"))
print("")
print("Esta es la lista de cursos asignados: ")
print str(cursosArreglo)
print("Esta es la lista de tareas y sus prioridades: ")
print '\n'+str(tareasArreglo)
print("")
regresar()
答案 0 :(得分:6)
对于列表列表,lst
只需在展平后使用join
和合适的分隔符。您可以使用chain
模块的itertools
来展平列表:
from itertools import chain
lst = [['zxcvb'], ['4'], ['nbvcx'], ['3'], ['tregd'], ['2'], ['bvxx'], ['3']]
flat_lst = list(chain.from_iterable(lst))
print ','.join(flat_lst)
答案 1 :(得分:2)
这里有一些没有任何模块或任何东西的代码。
for i in range(len(cursosArreglo)):
cursosArreglo[i] = "".join(cursosArreglo[i])
print(", ".join(cursosArreglo))
您也可以通过将其替换为tareasArreglo
来为cursosArreglo
运行此内容。
首先查看列表列表,然后使用str.join()
替换列表中的每个位置,然后再使用str.join
完全加入列表。
这也可以压缩成一行。
strCursosArreglo = ", ".join("".join(i) for i in cursosArreglo)
答案 2 :(得分:2)
您还使用lambda
,代码如下:
>>> func= lambda lst: [m for i in lst for m in func(i)] if type(lst) is list else [lst]
>>> lst = [['zxcvb'], ['4'], ['nbvcx'], ['3'], ['tregd'], ['2'], ['bvxx'], ['3']]
>>> func(lst)
['zxcvb', '4', 'nbvcx', '3', 'tregd', '2', 'bvxx', '3']
或者,
>>> func=lambda L: sum(map(func, L), []) if isinstance(L, list) else [L]
>>> func(lst)
['zxcvb', '4', 'nbvcx', '3', 'tregd', '2', 'bvxx', '3']
答案 3 :(得分:0)
您需要将列表展平,然后加入,例如使用嵌套的join
s:
>>> data = [['zxcvb'], ['4'], ['nbvcx'], ['3'], ['tregd'], ['2'], ['bvxx'], ['3']]
>>> print ", ".join("".join(s) for s in data)
zxcvb, 4, nbvcx, 3, tregd, 2, bvxx, 3