繁体   English   中英

如何将列表转换为字符串忽略python中的其他字符?

[英]how to convert list to string ignoring other characters in python?

我有一个像["['a', 'b', 'c', 'd']", '109']的列表,其中包含数组、列表中的数字。 如何将其转换为字符串"abcd" 我已经完成out = ' '.join(row) ,它删除了逗号。 我是 Python 的新手。

列表中的第一个元素是列表的字符串表示,而不是列表。 要使其成为列表,您可以像这样评估它:

from ast import literal_eval

l = ["['a', 'b', 'c', 'd']", '109']
print ''.join(literal_eval(l[0]))

输出:

abcd

你可以使用ast.literal_eval 但是,您最初确实不应该将数据转换为这种格式,因此我建议您退后一步并解决根本问题。

>>> import ast
>>> ''.join(ast.literal_eval("['a', 'b', 'c', 'd']"))
'abcd'

这样做的一个好方法是使用 re 模块。

import re
out = ''

for character in list:
    if re.search('[A-Za-z]', character):
        out += character

假设temp = [["a","b","c","d"], 109]所以在 python shell 中运行代码吹:

str = temp [0] // 将数组 ["a","b","c","d"] 分配给 str

''.join(str) // 在输出中给你abcd作为字符串

不要忘记这个命令应该在 python shell 上运行!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM