python中字符串到元组的转换

2024-09-30 12:31:24 发布

您现在位置:Python中文网/ 问答频道 /正文

在从文本文件行读取后,我有一个这样的字符串:

To = "'abc@hcl.com','xyz@hcl.com','accc@infy.com','satya@lab.com','ach@lab.com'"

我想把它转换成元组。我要做的是:

To = (To,)
type(To)  #o/p tuple
len(To)   #1
To
("'abc@hcl.com','xyz@hcl.com','accc@infy.com', 'sat@lab.com','ach@lab.com'",)   # output tuple

我需要将每个值按,拆分,然后从字符串或元组转换后将其存储到元组:

To
('abc@hcl.com','xyz@hcl.com','accc@infy.com', 'sat@lab.com','ach@lab.com',)  # output tuple
len(To)   #should give 5

Tags: to字符串comoutputlenlabsat元组
3条回答

使用Abstract Syntax Trees如下-

>>>import ast
>>>To=ast.literal_eval(To)
>>>print To
>>>('abc@hcl.com', 'xyz@hcl.com', 'accc@infy.com', 'satya@lab.com', 'ach@lab.com')
>>>len(To) 
>>>5

或者,如果不想使用ast,只需运行:

tuple(word[1:-1] for word in To.split(","))

备注:

  • 通过在,处拆分,可以将String转换为List
  • 然后可以将List转换为Tuple

代码:

To = "'abc@hcl.com','xyz@hcl.com','accc@infy.com','satya@lab.com','ach@lab.com'"
print tuple(To.split(","))

输出:

("'abc@hcl.com'", "'xyz@hcl.com'", "'accc@infy.com'", "'satya@lab.com'", "'ach@lab.com'")

如果要删除'引号

代码1:

print tuple(elem.strip("'") for elem in To.split(","))

输出1:

('abc@hcl.com', 'xyz@hcl.com', 'accc@infy.com', 'satya@lab.com', 'ach@lab.com')

相关问题 更多 >

    热门问题