args.colnumber1解析后的list打印不出来

问题遇到的现象和发生背景

parser_b.add_argument("colnumbers1",type=int,nargs="+"
使用上述语句输入三个整型数字:7 6 9
使用 df = [args.colnumbers1]解析后,应该是[[7 6 9]]
print(df) #这个list打印出来了
再使用 df1 = sum(df, [])降为一维list
print(df1) #这个list也打印出来了
但后面的两个打印语句都没有打印出来,为什么?

另外在其它的模块中,
重写了上述语句,全部都打印不出来,为什么? 难道我的Python3.8出问题了?

遇到的现象和发生背景,请写出第一个错误信息

两个print语句不打印,没有错误信息。

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
        dfnum = [args.colnumbers1] #提取index num
        print(dfnum)

        dfnum1 = sum(dfnum,[])
        print(dfnum1)
        
        print('=====')
        
        num1 = dfnum1[0]
        num2 = dfnum1[1]
        num3 = dfnum1[2]
        print(num3)
        print('num3')
运行结果及详细报错内容

[[7, 6, 9]]
[7, 6, 9]
这是运行结果,本该在这之后有两个打印语句出来,但是没有。

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

我的思路是先将GUI输入的三个数字 7 6 9经过args解析为一个二维list,然后降为一维list,再通过list[0]、list[1]和list[2]取出这三个数值。

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

我希望将输入的三个数字经过args解析后分别赋值给三个变量

没有问题的, 完整代码如下:
命令行输入:

python tmp_num.py 7 8 9

代码:


import argparse

parser = argparse.ArgumentParser(description='test')
parser.add_argument("colnumbers1", type=int, nargs="+")

args = parser.parse_args()
print(args)

dfnum = [args.colnumbers1]  # 提取index num
print(dfnum)

dfnum1 = sum(dfnum, [])
print(dfnum1)

print('=====')

num1 = dfnum1[0]
num2 = dfnum1[1]
num3 = dfnum1[2]
print(num1)
print(num2)
print(num3)

输出:

Namespace(colnumbers1=[7, 8, 9])
[[7, 8, 9]]
[7, 8, 9]
=====
7
8
9

Process finished with exit code 0