Python一行for循环

时间:2014-05-25 10:40:42

标签: python list for-loop

我在尝试缩短脚本时遇到了问题。 首先,这是我的剧本:

letters_list =  ['d', '7', '9']
letter_string = ""
for letter in letters_list:
    letter_string +=letter
print letter_string

我需要把这整件事整理成一行。 我怎么能这样做?

2 个答案:

答案 0 :(得分:3)

您可以像{<3}}一样简单地加入角色

print "".join(letters_list)
# d79

引自str.join

  

CPython实现细节:如果st都是字符串,某些Python实现(如CPython)通常可以对表单{的赋值执行就地优化{1}}或s = s + t。如果适用,此优化使得二次运行时间的可能性大大降低。此优化依赖于版本和实现。对于性能敏感的代码,最好使用s += t方法,以确保版本和实现之间的一致线性串联性能

因此str.join()优于str.join加入字符串的方式。

答案 1 :(得分:1)

letter_string = "".join(letters_list)