Python技术问题:如何从字符嵌套列表生成指定格式字符串?
如何从字符嵌套列表生成目标字符串?
我最近卡在一个小问题上——需要把一个由字符组成的嵌套列表转换成特定格式的字符串,折腾了半天没找到简洁的解决办法。先把我的问题细节列出来:
给定的字符嵌套列表是:
[['h', 'i', 'i', 'u', 'i', 'h'], ['r', 'm'], ['h', 'g', 'i', 'z', 'g', 'v', 't', 'b'], ['x', 'z', 'm', 'm', 'l', 'g'], ['y', 'v'], ['x', 'l', 'i', 'i', 'v', 'x', 'g'], ['g', 's', 'i', 'l', 'f', 't', 's'], ['g', 'z', 'x', 'g', 'r', 'x', 'z', 'o'], ['n', 'z', 'm', 'v', 'f', 'e', 'v', 'i', 'h']]
我期望得到的输出字符串是:
'hiiuih rm hgizgvtb xzmmlg yv xliivxg gsilfts gzxgrxzo nzmvfevih'
解决方案
其实这个问题拆解开来特别简单,核心就两步:
- 把嵌套列表里的每一个子列表中的字符拼接成完整的字符串
- 把这些拼接好的字符串用空格连接起来
用Python实现的话,一行核心代码就能搞定:
# 定义给定的嵌套列表 char_nested_list = [['h', 'i', 'i', 'u', 'i', 'h'], ['r', 'm'], ['h', 'g', 'i', 'z', 'g', 'v', 't', 'b'], ['x', 'z', 'm', 'm', 'l', 'g'], ['y', 'v'], ['x', 'l', 'i', 'i', 'v', 'x', 'g'], ['g', 's', 'i', 'l', 'f', 't', 's'], ['g', 'z', 'x', 'g', 'r', 'x', 'z', 'o'], ['n', 'z', 'm', 'v', 'f', 'e', 'v', 'i', 'h']] # 生成目标字符串 target_str = ' '.join(''.join(sublist) for sublist in char_nested_list) # 验证结果 print(repr(target_str))
代码细节解释:
''.join(sublist):遍历每个子列表,把里面的字符逐个拼接成单个字符串,比如第一个子列表会变成'hiiuih'' '.join(...):将所有拼接好的子字符串用空格分隔,组合成最终的目标字符串
运行这段代码后,输出的结果完全符合期望的格式。
内容的提问来源于stack exchange,提问作者ricky
相关产品推荐
相关产品推荐

