【发布时间】:2019-08-03 10:18:15
【问题描述】:
我想要一个等效于 bash 的哈希图(键为 string,值为整数的 list)。所以,我写了以下代码-
declare -A PUBS
PUBS=( "FEE":"[345, 342]" "FOO":"[1, 2, 44]" "BAR":"[23, 67]" )
但是,我收到一条错误消息 must use subscript when assigning associative array。
这里有什么问题?
【问题讨论】:
-
由于
[345, 342]不是任何一种bash字面量,您不妨省去不必要的括号和逗号,直接写PUBS=([FEE]="345 342" [FOO]="1 2 44" [BAR]="23 67")。 -
知道了,但是在代码中这样写会不会很痛苦?主要原因是我想将所有这些值作为列表参数传递给 Python 文件。
-
这会假设您的 Python 程序正在使用类似
eval的东西从字符串参数创建列表,对吧?这可能是个坏主意。 -
@chepner 哦,那你有什么推荐的?如何传递这些值
[345, 342]?以及如何在我的 Python 程序中解析它们以创建一个列表? -
最简单的事情(假设没有其他参数)是将每个整数作为单独的参数传递,然后让 Python 将它们收集到一个列表中。不过,适当的治疗值得提出自己的问题。
标签: bash