Python字符串转换为数组

2024-05-23 21:41:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我的要求是将'arrList'字符串作为main的参数,并使用逗号(,)将其拆分,每个名称都是一个数组(arr1、arr2、arr3)。现在,所有3个数组都应该附加到一个列表中。输出应为:list:1,2,3,7,8,9,11,22,33。但在实施时应遵循以下步骤。 尝试以下代码,但无法转换。感谢您的帮助。你知道吗

arr1 = [1,2,3]
arr2 = [7,8,9]
arr3 = [11,22,33]
list = []

def arrTest(arrList):
        var = arrList.split(',')
        for x in var:

    #f = open(, "r")
        #for x in f:
        #   list.append(x.rstrip('\n'))


if __name__ == '__main__':
    arrList = "arr1,arr2,arr3"
    arrTest(arrList)

Tags: 字符串in名称for参数mainvar数组
3条回答

Use eval function

arr1 = [1,2,3]
arr2 = [7,8,9]
arr3 = [11,22,33]
out = []

def arrTest(arrList):
        list_strs = arrList.split(',')
        for list_str in list_strs:
          l = eval(list_str)
          out.extend(l)


arrList = "arr1,arr2,arr3"
arrTest(arrList)
print(out)

[1, 2, 3, 7, 8, 9, 11, 22, 33]

arr1 = [1,2,3]
arr2 = [7,8,9]
arr3 = [11,22,33]
the_list = []

arrList = "arr1,arr2,arr3"
for array in arrList.split(','):
    if array in locals():
        the_list.extend(locals()[array])

print (the_list)

输出

[1, 2, 3, 7, 8, 9, 11, 22, 33]

locals()函数返回包含在本地命名空间中定义的变量的字典。你知道吗

可以使用python dict数据结构。你知道吗

arr1 = [1,2,3]
arr2 = [7,8,9]
arr3 = [11,22,33]
d = {"arr1": arr1, "arr2": arr2, "arr3": arr3}

def arrTest(arrList):
    l = []
    var = arrList.split(',')
    for x in var:
        for e in d[x]:
            l.append(e)
    return l

if __name__ == '__main__':
    arrList = "arr1,arr2,arr3"
    l = arrTest(arrList)
    print(l)

输出

[1, 2, 3, 7, 8, 9, 11, 22, 33]

相关问题 更多 >