如何基于字符串列表创建对应的元组?
如何将字符串列表转换为包含单元素元组的列表
问题说明
需要把一组字符串转换为每个元素都是单元素元组的列表。初始字符串序列由以下生成器生成:
list_t = (','.join((str(value) for key, value in l.items())) for l in r1)
将生成器转为列表后,内容如下:
[ 'test1,test2,2020-10-12,None,None', "test5,test6,2021-11-24,None,None", 'test7,test8,2021-11-24,None,None' ]
期望结果
注意:Python中单元素元组必须包含末尾逗号,你给出的示例写法缺少逗号,实际不会被识别为元组。标准格式的期望结果应为:
[ ('test1,test2,2020-10-12,None,None',), ("test5,test6,2021-11-24,None,None",), ('test7,test8,2021-11-24,None,None',) ]
实现代码
用列表推导式遍历原列表,为每个字符串添加逗号构建单元素元组即可:
# 先将生成器转换为字符串列表(如果还没转换的话) str_list = list(list_t) # 生成目标列表 tuple_list = [(s,) for s in str_list]
关键细节
如果只写(s),Python会将其视为带括号的字符串,而非元组。只有添加末尾逗号(s,),才会被解析为单元素元组。
内容的提问来源于stack exchange,提问作者fikos
相关产品推荐
相关产品推荐

