python中字符串变二维数组的实例讲解

  • Post category:Python

在Python中,可以使用字符串的split()方法将字符串按照指定的分隔符分割成一个列表,然后将列表转换为二维数组。本文将详细介绍Python中字符串变维数组的实现方法,并提供两个示例。

示例一:将字符串按行分割成二维数组

假设有一个字符串,其中每包含多个数字,数字之间用空格分隔。要将这个字符串按行分割成二维数组,可以使用以下步骤:

1.字符串按行分割成一个列表

str = '1 2 3\n4 5 6\n7 8 9'
lines = str.split('\n')

上面的代码将字符串按照换行符\n分割成一个列表列表中的每个元素是一行字符串。

  1. 将每行字符串按照空格分割成一个列表
arr = []
for line in lines:
    arr.append(line.split())

上面的代码遍历每行字符串,将每行字符串按照空格分割成一个列表,并将这个列表添加到一个新的列表中。这个的列表就是二维数组。

完整代码如下:

str = '1 2 3\n4 5 6\n7 8 9'
lines = str.split('\n')
arr = []
for line in lines:
    arr.append(line.split())
print(arr)

输出结果为:

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

示例二:将字符串按列分割成二维数组

假设有一个字符串,其中每列包含多个数字,数字之间用空格分隔。要将这个字符串按列分割成二维数组,可以使用以下步骤:

  1. 将字符串按照空格分割成一个列表
str = '1 4 7\n2 5 8\n3 6 9'
nums = str.split()

上面的代码将字符串按照空格分割成一个列表,列表中的每个元素是一个数字字符串。

  1. 将列表转换为二维数组
arr = []
for i in range(3):
    arr.append(nums[i::3])

上面的代码使用了列表切片的技巧,将列表中每三个元素作为一列,然后将这些列添加到一个新的列表中。这个新的列表就是二维数组。

完整代码如下:

str = '1 4 7\n2 5 8\n3 6 9'
nums = str.split()
arr = []
for i in range(3):
    arr.append(nums[i::3])
print(arr)

输出结果为:

[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

总结

本文介绍了Python中字符串变二维数组的实现方法,并提供了两个示例。在将字符串转换为二维数组时,需要根据具体情况选择合适的分割符和切片方式。使用这些方法可以方便地将字符串转换为二维数组,便于进行后续的数据处理。