是否可以在Python中创建一个可变长度的数组?
当我启动程序时,我从sys.argv得到不同类型的长度,只要sys.argv中的字符串是,我需要尽可能多的数组字段。
编辑以便更好地理解:
我编写了一个可以控制Raspberry Pi的GPIO端口的python脚本
到目前为止,该脚本只能同时控制一个端口。执行顺序如下:
sudo python /home/pi/Desktop/IO2.py #Port #State (Like high or low)
如果我想控制端口5并将其设置为高,则看起来像这样:
sudo python /home/pi/Desktop/IO2.py 5 high
但是现在,我想控制更多的端口而不仅仅是一个端口。看起来应该是这样的:
sudo python /home/pi/Desktop/IO2.py 1,4,7,11 high
港口1,4,7,11现在很高。
答案 0 :(得分:1)
这是XY问题的典型例子。
你的问题与python数组甚至python列表关系不大,更多的是如何从命令行参数中检索选项列表。为此,您应该使用argparse
而不是尝试手动解析sys.argv
。
答案 1 :(得分:0)
您可以像这样创建一个新的空数组:
a = ["Default value"] * length
"Default value"
是您希望在每个空格中拥有的值(显然可以重新分配这些值),而length
是您从sys.argv
获得的长度
但是,因为您可以轻松地从数组中添加和删除元素,您可能想要重新设计您的设计?