我正在尝试合并一个元组列表,说:
test = [('X','X'),('O','O'),('X','X')]
成
test_merge = ['XX','OO','XX']
我从另一个人那里读到他/她使用的:
地图('' .join,测试)
得到了:
[' XX',' OO',' XX']
所以我想尝试一种不同的方式:
'' .join(map(str,test))
得到了:
"(' X',' X')(' O',' O')(' X' ;,' X')"
我了解如果''.join
不是字符串列表,则无法使用test
。但是,使用相同的map()和join(),map(''join, test)
如何成功合并元组中的值?非常感谢!
答案 0 :(得分:1)
>>> ''.join(('X', 'X'))
'XX'
>>> str(('X', 'X'))
"('X', 'X')"
将iterable中的每个元素发送给给定的函数。观察我们调用您尝试过的每个函数时会发生什么:
''.join
如您所见,str
将所有传递的iterable参数与空字符串的分隔符连接起来,产生您想要的结果。但是,tuple
生成传递对象的字符串表示,如上所示,在这种情况下为SimpleEmail email = new SimpleEmail();
MimeMultipart mmpa = new MimeMultipart("alternative");
//Calendar
MimeBodyPart calendarPart = new MimeBodyPart();
calendarPart.setHeader("Content-Type", "text/calendar; charset=UTF-8; method=REQUEST");
ByteArrayDataSource dsCalendario = new ByteArrayDataSource(str,"text/calendar;method=REQUEST");
DataHandler dhCalendario = new DataHandler(dsCalendario);
calendarPart.setDataHandler(dhCalendario);
mmpa.addBodyPart(calendarPart);
email.setContent(mmpa);
。它不会尝试对传递的对象进行任何其他类型的处理。
答案 1 :(得分:0)
你可以这样做:
[''.join(x) for x in test]