Python:拆分字符串、添加内容后赋值数组及生成入库目标字符串
字符串转换与数组生成解决方案
需求说明
输入逗号分隔的算法字符串:
chp_algos = 'AES256_SSE','AES128_CBC','AES64_CBC','AES33_CBC'
需完成两个任务:
- 生成指定格式的二维数组(注:示例中出现的
AES128_SSE应为输入中的AES256_SSE,以下按输入内容修正实现;若需排除AES256_SSE,可参考下方补充代码) - 生成空格分隔的映射字符串,用于存入数据库
实现代码(Python)
# 定义原始算法元组 chp_algos = ('AES256_SSE','AES128_CBC','AES64_CBC','AES33_CBC') # 生成二维数组 arr = [] for algo in chp_algos: arr.append([algo]) arr.append([f"{algo}_fer"]) # 生成数据库映射字符串 f = ' '.join([f"{algo}_fer" for algo in chp_algos]) # 验证输出 print("二维数组:") print(arr) print("\n映射字符串:") print(f)
输出结果
二维数组
arr = [ ['AES256_SSE'], ['AES256_SSE_fer'], ['AES128_CBC'], ['AES128_CBC_fer'], ['AES64_CBC'], ['AES64_CBC_fer'], ['AES33_CBC'], ['AES33_CBC_fer'] ]
映射字符串
f = 'AES256_SSE_fer AES128_CBC_fer AES64_CBC_fer AES33_CBC_fer'
补充:排除指定项的版本
如果需要排除AES256_SSE,可使用以下代码:
chp_algos = ('AES256_SSE','AES128_CBC','AES64_CBC','AES33_CBC') arr = [] fer_items = [] for algo in chp_algos: if algo == 'AES256_SSE': continue arr.append([algo]) arr.append([f"{algo}_fer"]) fer_items.append(f"{algo}_fer") f = ' '.join(fer_items)
内容的提问来源于stack exchange,提问作者mick
相关产品推荐
相关产品推荐

