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

问题描述 投票:0回答:4

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

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

    print dec

当我像这样调用函数时

descAscii("hello")
打印以下内容:
[104, 101,108,108,111]

我想要的结果是 104101108108111

感谢所有意见。

python list type-conversion
4个回答
3
投票

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

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

1
投票

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

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

如果您希望输出为

int
,则使用

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

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

    print dec

您可以创建一个字符串并继续附加到它。

word = "hello"

>>> dec
'104101108108111'

0
投票

如果您希望输出为字符串,还有另一个选项:

分隔符 = '/' your_list = ['费用','fi','fo','fum'] (分隔符).join(your_list)

© www.soinside.com 2019 - 2024. All rights reserved.