[英]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.