在 python 中分隔成一行的打印列表

Print list separated in a single row in python

我有

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

它returns:

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

如何将这些值分开?

我尝试使用

print ', '.join(data)

但无法获得好的 return 值。

return应该是

data1,data2,data3...

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

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

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

试试这个

[elem[0] for elem in data]

这是一个实用的解决方案。

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