简体   繁体   English

如何对这些单词进行排序以在 Python 中制作这句话?

[英]How can I sort these words to make this sentence in Python?

I have to sort these words in to a sentence.我必须把这些词整理成一个句子。 This is my list, with the numbers:这是我的清单,包括数字:

sms=['Szentírás ', 'bölcs ', 'a ', 'már ', 'szükséges ', 'mondhat ', 'biztosak ', 'a ', 
     'feladata, ', 'Mivel ', 'ellent ', 'a ', 'érzéki ', 'azokkal ', 'következtetésekkel, ',
     'a ', 'vagyunk ', 'a ', 'tapasztalataink ', 'szöveg ', 'azon ', 'igazság ', 'sose ',
     'ami ', 'hogy ', 'melyekben ', 'kísérletek ', 'megtalálják ', 'által.', 'két ', 'fizikai ',
     'egymásnak, ', 'egyezik ', 'és ', 'értelmezőinek ', 'értelmezését, ']
sorrend=[8,9,15,26,33,4,27,11,12,0,5,32,29,21,24,22,28,7,30,16,17,2,3,19,13,25,34,14,35,1,23,6,20,31,10,18]

and I have to get this sentence:我必须得到这句话:

Mivel  két  igazság  sose  mondhat  ellent  egymásnak,  a  Szentírás  bölcs  értelmezőinek  a  feladata,  hogy  megtalálják  a  szöveg  azon  értelmezését,  ami  egyezik  azokkal  a  fizikai  következtetésekkel,  melyekben  már  biztosak  vagyunk  érzéki  tapasztalataink  és  a  szükséges  kísérletek  által.

How can I sort it like that?我怎么能这样排序? Thanks.谢谢。

You could try something like this:你可以尝试这样的事情:

dict(sorted(zip(sorrend,sms))).values()

For your shortened example:对于您的缩短示例:

>>> sms=['love', 'I', 'much', 'so', 'you']
>>> sorrend=[2,1,5,4,3]
>>> ' '.join(dict(sorted(zip(sorrend,sms))).values())
'I love you so much'

Finally I've solved this riddle:最后我解决了这个谜语:

words = {}
for i in range(len(sorrend)):
    words[sorrend[i]] = sms[i]

for i in range(len(sorrend)):
    print(words[i], end=' ')

Output:输出:

Mivel  két  igazság  sose  mondhat  ellent  egymásnak,  a  Szentírás  bölcs  értelmezőinek  a  feladata,  hogy  megtalálják  a  szöveg  azon  értelmezését,  ami  egyezik  azokkal  a  fizikai  következtetésekkel,  melyekben  már  biztosak  vagyunk  érzéki  tapasztalataink  és  a  szükséges  kísérletek  által.

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM