Python这段代码做了什么? list = list [list!= value]

时间:2015-05-13 01:28:04

标签: python

如标题所示,ans_list是一个答案列表,ans_index是一个数字(词汇表中的答案索引,但这与atms无关)

这里产生的tree.anslist是什么? (仅针对第一个例子),忽略迭代。

for tree in train_trees:
    tree.ans_list = ans_list[ans_list != tree.ans_ind]

我自己尝试了一些代码,但没有成功获得任何意义

更新:我错过了一行将数字列表更改为数组的代码。

ans_list = array([vocab.index(ans) for ans in ans_list])

3 个答案:

答案 0 :(得分:4)

ans_list!= tree.ans_ind是一个布尔值。真与假在整个引擎中表示为整数0和1(这是一种古老的传统,可以追溯到非强类型语言,例如c语言就是这样)。因此它返回列表中的第一个或第二个项目,具体取决于布尔语句是真还是假。

>>> l = ['a', 'b', 'c']
>>> l[False]
'a'
>>> l[True]
'b'

答案 1 :(得分:3)

您应该向我们展示import glob from pydub import AudioSegment combined_sound = AudioSegment.empty() for filename in glob.glob('*.wav'): combined_sound += AudioSegment.from_wav(filename) outfile = "sounds.wav" combined_sound.export(outfile, format='wav') ans_list是什么。表达式

train_trees

看起来非常像numpy数组,其行为与Python列表不同:

ans_list[ans_list != tree.ans_ind]

在我看来,你正试图通过做一些与该代码无关的测试来了解别人的代码。

答案 2 :(得分:0)

让我们检查为什么True等同于1False等同于0

>>> True == 1
True
>>> True == 0
False
>>> False == 0
True
>>> int(True)
1
>>> int(False)
0