如何用极简代码拼接未知长度元组内的字符串?
一行代码搞定元组转拼接字符串列表
这题真的没必要绕弯路,Python里的str.join()方法天生就是干这个的!结合列表推导式,一行代码就能解决,不管元组长度是1、2还是N都能完美适配。
直接上代码:
my_list = [("a", "b"), ("a", "b", "c"), ("a",)] my_list = [''.join(tuple_item) for tuple_item in my_list]
为啥这行代码能work?
''.join(iterable)方法会把传入的可迭代对象(这里就是每个元组)里的所有字符串元素,用空字符串直接拼接起来,完全不用管元组里有几个元素。- 列表推导式是Python里生成新列表最简洁的方式,遍历原列表的每个元组,直接生成拼接后的字符串列表,代码量最少,可读性也拉满。
如果你想原地修改原列表(不生成新列表),也可以用enumerate来做,但代码会稍微长一点:
for idx, tup in enumerate(my_list): my_list[idx] = ''.join(tup)
但显然第一种列表推导式的写法是最简洁高效的,完全满足你“最少代码”的需求~
内容的提问来源于stack exchange,提问作者nms1s
相关产品推荐
相关产品推荐

