如何将列表中的元素连接到Python中的一个变量?

时间:2014-02-04 21:04:09

标签: python list type-conversion

我目前正试图取一个单词中每个字母的整数值,并将其表示为一个长连续十进制值,而不是加在一起或用新行分隔。我遇到的问题是我不确定如何将这些元素从列表中删除。

def descAscii(words):
    dec = []
    for letters in words:
        dec.append(ord(letters))

    print dec

当我调用此函数时descAscii("hello")打印以下内容:[104, 101,108,108,111]

我想要的结果是104101108108111

赞赏所有输入。

3 个答案:

答案 0 :(得分:3)

str.join是从列表构建字符串的正确方法。您还可以使用生成器理解跳过循环和任何中间列表构建。

def descAscii(words):
    print ''.join(str(ord(letter)) for letter in words)

答案 1 :(得分:1)

如果您希望输出为字符串,请使用

"".join(str(i) for i in dec)

如果您希望输出为int,请使用

In [83]: reduce(lambda a,b: a*1000 + b, dec)
Out[83]: 104101108108111

答案 2 :(得分:0)

def descAscii(words):
    dec = ""
    for letters in words:
        dec += str(ord(letters))

    print dec

你可以创建一个字符串并继续追加它。

word = "hello"

>>> dec
'104101108108111'