如何在Python中将含数字与单词的字符串转换为嵌套列表?
如何将包含姓名与数字的字符串转换为嵌套列表
问题描述
需要将如下格式的字符串:
ex_name_age = "Hannah 12, Daniel 98, Maya 30, Elizabeth 96"
转换为每个子列表包含姓名字符串与对应整数年龄的嵌套列表:
[['Hannah', 12], ['Daniel', 98], ['Maya', 30], ['Elizabeth', 96]]
当前问题分析
你已通过split(", ")拆分出了每个"姓名+年龄"的字符串,但仅将它们作为子列表的单个元素,未进一步拆分姓名和年龄,也未将数字转为整数,因此结果不符合需求。
解决方案
方法一:分步实现(清晰易懂)
ex_name_age = "Hannah 12, Daniel 98, Maya 30, Elizabeth 96" # 拆分出每个"姓名 年龄"的独立字符串 name_age_strings = ex_name_age.split(", ") # 初始化结果列表 result = [] # 遍历处理每个字符串 for s in name_age_strings: name, age_str = s.split() # 按空格拆分姓名与年龄字符串 result.append([name, int(age_str)]) # 将年龄转为整数后组成子列表存入结果 print(result)
方法二:列表推导式(简洁写法)
ex_name_age = "Hannah 12, Daniel 98, Maya 30, Elizabeth 96" result = [[name, int(age)] for item in ex_name_age.split(", ") for name, age in [item.split()]] print(result)
关键说明
split(", "):将原字符串按,分割,得到单个的"姓名 年龄"字符串列表。split():对每个"姓名 年龄"字符串按空格拆分,得到姓名和年龄的字符串对。int(age):将年龄字符串转换为整数类型,匹配期望输出的格式要求。
内容的提问来源于stack exchange,提问作者Maya_NG
相关产品推荐
相关产品推荐

