我有一个这样的清单:
l = ['b', '7', 'a', 'e', 'a', '6', 'a', '7', '9', 'c', '7', 'b', '6', '9', '9', 'd', '7', '5', '2', '4', 'c', '7', '8', 'b', '3', 'f', 'f', '7', 'b', '9', '4', '4']
我希望从中创建一个字符串:
7bea6a7ac9b796d957427cb8f37f9b44
我做了:
l = (zip(l[1:], l)[::2])
s = []
for ll in l:
s += ll
print ''.join(s)
但是有更简单的方法吗?可能是一行吗?
答案 0 :(得分:11)
你可以连接每对字母,然后$triangleList[$id] = [$area,$perimeter];
生成器表达式中的整个结果
join
答案 1 :(得分:2)
你可以使用一个简单的列表理解来交换(提供你肯定有一个偶数大小)然后加入:
''.join([ l[i+1] + l[i] for i in range(0, len(l), 2) ])
答案 2 :(得分:1)
使用zip对相邻的列表项进行分组;
group_adjacent = lambda a, k: zip(*([iter(a)] * k))
然后通过交换for循环来连接它们
print (''.join( j+i for i,j in group_adjacent(l,2)) )