【Python】如何将字符串型二维数组,转为二维数组

如何将字符串型二维数组,转为二维数组

遇到需要把类似“[1,2,3],[1,-1],[1,0,1,2]”转为二维数组的场景,记录一下代码


```python
# 将字符串型二维数组,转为二维数组
    def transStrTo2X(str):
        temp = list(filter(None, str.split(']')))
        temp1 = list()
        res = list()
        for item in temp:
            temp1.append(item.replace('[', ''))
        for item in temp1:
            res.append(list(map(int, filter(None, item.split(',')))))
        return res
### 如何用 Python 实现将字符串化为二维数组Python 中,可以利用 `split()` 方法来处理字符串并将其换为二维数组。具体来说,可以通过先按行分割字符串,再逐行按列分割的方式完成这一操作。 以下是具体的实现方式: #### 示例代码 ```python def string_to_2d_array(input_string, row_delimiter="\n", col_delimiter=" "): """ 将字符串换为二维数组 参数: input_string (str): 输入的原始字符串 row_delimiter (str): 行之间的分隔符,默认为换行符 "\n" col_delimiter (str): 列之间的分隔符,默认为空格 " " 返回: list[list[str]]: 由字符串生成的二维数组 """ rows = input_string.strip().split(row_delimiter) # 按照行分隔符拆分行[^2] result = [] for row in rows: cols = row.split(col_delimiter) # 对每一行按照列分隔符拆分列 result.append(cols) return result # 测试示例 input_str = """1 2 3\n4 5 6\n7 8 9""" array_2d = string_to_2d_array(input_str) print(array_2d) ``` 运行上述代码后,`array_2d` 的输出将是: ```python [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']] ``` --- #### 关于字典键值对中的不可变性约束 如果希望进一步扩展此功能并将结果存储到字典中作为键值对,则需要注意字典键的不可变性要求。例如,元组(tuple)可用作字典键,而列表(list)不行[^3]。 因此,在某些场景下可能需要额外处理数据结构以满足需求。 --- #### JSON 数据格式的相关说明 对于涉及 JSON 格式的任务,通常会结合 Python 的内置模块 `json` 来序列化或反序列化对象。然而,本问题主要关注的是字符串向二维数组化过程,而非直接生成 JSON 字符串[^4]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值