小编cur*_*ous的帖子

这是python中这种数据结构的最佳方法?

我在python中有以下情况:我正在解析本体,我想跟踪本体的一些属性并构建具有以下特征的数据结构:

- 只需一个密钥即可访问每个值

- 该值将是另一个具有以下3个内容的键值数据结构:

'x':[]一个简单的列表

'y':[{'name':value,'type':value}]包含特定dictioanry键值的列表

'z':[{'name':value,'type':value}]包含特定字典键值的列表

根据上面的最终数据结构,我是:

ontology={'': [{'y': {'type': '','name':''}}],'x':[],'z':[ {'type': '', 'name': ''}]}
Run Code Online (Sandbox Code Playgroud)

最后我想要这个dinctionary的多个条目.我不想使用列表,因为索引将是一个整数,我想通过一个键索引我的数据.

我将在3个不同的for循环中填充此数据结构.

在第一个循环中,我将仅使用键名称填写本体词典.我认为如下:

    ontology['a']={'a': [{'y': {'type': '','name':''}}],'x':[],'z':[ {'type': '', 'name': ''}]}
Run Code Online (Sandbox Code Playgroud)

但是这个东西是用'python'标准方式做的.有没有其他更方便的方法这样做,因为在我看来有些奇怪.

最后我会有这样的事情:

ontology['a']={'a':[{'y': {'type': '','name':''}}],'x':[],'z':[ {'type': '', 'name': ''}]}
ontology['b']={'b':[{'y': {'type': '','name':''}}],'x':[],'z':[ {'type': '', 'name': ''}]}
ontology['c']={'c':[{'y': {'type': '','name':''}}],'x':[],'z':[ {'type': '', 'name': ''}]}
ontology['d']={'d':[{'y': {'type': '','name':''}}],'x':[],'z':[ {'type': '', 'name': ''}]}
Run Code Online (Sandbox Code Playgroud)

在基于键的第二个循环中,我将填充x:[]值,这本身就是另一个字典

在第三个for循环中,我将填充y和z键.

这对于这个数据结构来说这是一个很好的方法吗?我还想过使用Classes来使我的代码更加"结构化",但我想我会使用更多的代码行

python data-structures

2
推荐指数
1
解决办法
1216
查看次数

我如何从包含regexp的python调用shell命令?

如何从python中调用包含regexp(即cat filename*)的shell命令.

我写:

pid = subprocess.Popen(["cat", filename + "*"])
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误

cat filename*没有这样的文件或目录.

我想强制shell将"*"视为正则表达式而不是字符串.有没有办法实现这个?

python shell

2
推荐指数
1
解决办法
1979
查看次数

为什么这个微小的c代码更改会导致执行时间的巨大差异?

unix下面的代码需要time命令报告〜9s .

int main()
{
    double u = 0;
    double v = 0;
    double w = 0;
    int i;
    for (i = 0;i < 1000000000;++i) {
        v *= w;
        u += v;
    }
    printf("%lf\n",u);
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么执行时间当我改变几乎翻倍v *= w;v *= u;

c performance

2
推荐指数
1
解决办法
94
查看次数

如何将颜色放在matplotlib的树形图中 - scipy在python中?

我有以下代码来执行数据的分层clutering:

Z = linkage(data,method='weighted')
  plt.subplot(2,1,1)
  dendro = dendrogram(Z)
  leaves = dendro['leaves']
  print leaves
  plt.show()
Run Code Online (Sandbox Code Playgroud)

在树形图中,所有簇都具有相同的颜色(蓝色).有没有办法在群集之间使用不同颜色的相似性?

python matplotlib scipy

2
推荐指数
1
解决办法
1330
查看次数

mercurial如何处理jar文件中被忽略的文件?

例如:我已经添加了.hgignore一个规则来忽略.class文件.但我希望Mercurial能够跟踪一些包含.class库软件文件的jar文件.它只会看到jar的文件日期签名,或者它会通过里面的类文件?

mercurial

1
推荐指数
1
解决办法
137
查看次数

如何在python的外部列表的最后一个嵌套列表中添加项?

是否可以将项目添加到外部列表的最后一个嵌套列表中.即:

a=[1,2,[3,4,[5,6]]] 插入7之后,我希望我的列表成为

a=[1,2,[3,4,[5,6,7]]]

python

1
推荐指数
1
解决办法
1458
查看次数

如何将元组列表连接到python中元组的连接项列表?

我有一个元组列表,我想列出由元组中的每个项目串联组成的简单字符串.即:

a = [("as","b","c"),("d","e"),("f","g")]
Run Code Online (Sandbox Code Playgroud)

b将= ["as b c","d e","f g"]

我试过这个:

b = [sum(i,[]) for i in a ]
Run Code Online (Sandbox Code Playgroud)

但我得到了

TypeError: can only concatenate tuple (not "str" to tuple)`
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
919
查看次数

如何调用每个迭代两个列表的zip函数?

我有两个列表: a=[1,2,3],b=[a,b,c]

我希望zip这两个中的每一个都调用一个函数,但不要在for循环中以微不足道的方式执行它.有pythonic方式吗?我尝试过map:

map(func(i,v) for i,v in zip(a,b))

但它不起作用

python dictionary iterator

0
推荐指数
1
解决办法
40
查看次数

如何基于python中的函数合并两个列表?

我有两个相同大小的列表,我想制作第三个,其中包含前两个的差异:

a=[1,2,3,4]
b=[2,1,3,2]
Run Code Online (Sandbox Code Playgroud)

我想计算c=[a[0]-b[0],a[1]-b[1],a[2]-b[2],a[3]-b[3],] 是否有pythonic方式?

python

-2
推荐指数
2
解决办法
82
查看次数