打印列表在python中以单行分隔

时间:2017-11-08 10:36:51

标签: python arrays python-2.x

我有

data = list(a.fetchall())
print data

它返回:

[('Data1',), ('Data2',), ('Data3',), ('Data4',), ('Data5',), ('Data6',), ('Data7 ',), ('Data8',)]

我怎样才能将这些值分开?

我尝试使用

print ', '.join(data)

但无法获得良好的价值回报。

返回应该像

data1,data2,data3...

如果可能的话,可以将数据保存在不同的变量中......

4 个答案:

答案 0 :(得分:1)

您有一个单项元组的列表。您需要从元组本身中提取值。

', '.join(element[0] for element in data)

答案 1 :(得分:1)

', '.join(map(lambda e: e[0], data))

答案 2 :(得分:1)

这是一个功能性解决方案。

from operator import itemgetter

data = [
    ('Data1',), ('Data2',), ('Data3',), ('Data4',), 
    ('Data5',), ('Data6',), ('Data7 ',), ('Data8',)
]
# Extract the string from each tuple into a new list
newdata = map(itemgetter(0), data)
# Join the strings in the list into a single string
print newdata
print ', '.join(newdata)

<强>输出

['Data1', 'Data2', 'Data3', 'Data4', 'Data5', 'Data6', 'Data7 ', 'Data8']
Data1, Data2, Data3, Data4, Data5, Data6, Data7 , Data8

答案 3 :(得分:0)

试试这个

[elem[0] for elem in data]