如何解决在列表中的每个循环处创建新列表
我想知道每次“ for”循环移动到要循环进入的列表中的另一个值时,如何将结果附加到新的列表中。
我正在循环一个值列表,对于每个值我都使用它与另一个值进行计算,但是由于我使用了列表中的所有元素,因此每次都会得到不同的结果,但是我不希望将它们存储在相同的列表,是否有办法在每次循环时在列表上使用下一个值时将结果追加到新列表中?
这是一些代码:我循环输入一个整数列表,并使用它们来计算句子中单词的索引,如下所示:
{'Le film est superbe mais cette édition DVD est nulle !': 'film superbe édition dvd nul',"J'ai essayé d'écouter plusieurs fois cette BO,mais elle est tellement fade et sans couleur,que j'en oublierai presque qu'elle en dans la chaine.": 'essayer écouter plusieurs bo lui fade couleur oublier presque lui chaine'}
from collections import Counter
def pwd_2(texte,liste1,liste2):
texte = spacy_process(texte)
#print(texte)
liste_phrase = []
label = []
pol = ('positif','négatif','neutre')
x = [0.25,0.5,0.75,1,1.25,1.5,1.175,2,2.25,2.5,2.75,3,3.25,3.5,3.75,4] # Different values
for n in x:
print(n)
double_n = n * 2
print(double_n)
for k,v in texte.items():
d_neg = {}
d_pos = {}
d_0 = {}
liste_lex =[]
elts = v.split()
#print(elt)
len_elt = len(elts)
m = len_elt/2
for w in elts:
ind = elts.index(w)
#print(w,": a pour indice ",ind,'\n')
if ind > m:
#print(w,': est après la moitié de la phrase')
if w in liste1:
#print(w,': est dans le lexique positif','\n')
d_pos[w] = ind * n
liste_lex.append(w)
elif w in liste2:
#print(w,': est dans le lexique négatif','\n')
d_neg[w] = ind * double_n
liste_lex.append(w)
else:
#print(w,': est dans le lexique neutre','\n')
d_0[w] = 0
else:
None
#print('nombre total de mots dans le lexique')
to_len= len(liste_lex)
#print(to_len)
mot_weight_pos = sum(d_pos.values()) / len_elt
mot_weight_neg = sum(d_neg.values()) / len_elt
if mot_weight_pos > mot_weight_neg:
liste_phrase.append(k)
label.append(pol[0])
#print(k,': est positif','\n')
elif mot_weight_pos < mot_weight_neg:
liste_phrase.append(k)
label.append(pol[1])
#print(k,': est négatif','\n')
else:
liste_phrase.append(k)
label.append(pol[2])
#print(k,': est neutre','\n')
#return liste_phrase,label
print(liste_phrase,label)
count = Counter(label)
print(count)
pwd_2(a,lexiconpos,lexiconneg)
下面的结果不是我期望的,因为我想为x中的每个n:将结果打印到一个新列表中,但是当使用append时,它会追加到同一列表中。
n is equal to : 0.25
['Le film est superbe mais cette édition DVD est nulle !',que j'en oublierai presque qu'elle en dans la chaine."] ['négatif','négatif']
Counter({'négatif': 2})
n is equal to : 0.5
['Le film est superbe mais cette édition DVD est nulle !',que j'en oublierai presque qu'elle en dans la chaine.",'Le film est superbe mais cette édition DVD est nulle !','négatif']
Counter({'négatif': 4})
n is equal to : 0.75
['Le film est superbe mais cette édition DVD est nulle !','négatif']
Counter({'négatif': 6})
我曾考虑过创建新列表并复制代码行,但是由于我有很多n,所以代码太长了,有没有一种有效的方法
预期结果:
n is equal to : 0.25
['Le film est superbe mais cette édition DVD est nulle !',que j'en oublierai presque qu'elle en dans la chaine."] [ 'négatif','négatif']
Counter({'négatif': 2})
n is equal to : 0.75
['Le film est superbe mais cette édition DVD est nulle !',] ['négatif','négatif']
Counter({'négatif': 2})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。