Python:使用join()和map()获取元组列表

时间:2016-05-06 18:17:51

标签: python dictionary join tuples

我正在尝试合并一个元组列表,说:     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)如何成功合并元组中的值?非常感谢!

2 个答案:

答案 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]