一个文字列表,一个数字列表,如何按照数字排序文字列表的位置?

# 根据数字排序文字的位置

z ='''
情绪,语言,思维框架,职业
3,4,2,1
'''

# print 打印
职业 思维框架 情绪 语言

代码

#!/usr/bin/nve python
# coding: utf-8


# 根据数字排序文字的位置
z ='''
情绪,语言,思维框架,职业
3,4,2,1
'''
# print 打印
'职业 思维框架 情绪 语言'

text, nums = z[1:-1].split('\n') # 拆分文字和数字。
text = text.split(',')

print(f"\n{z}\n{'~'*30}\n")

# 轮询数字打印
for num in nums.split(','):
    print(text[int(num)-1], end=' ')
    
print('\n')

代码运行效果

img

z ='''情绪,语言,思维框架,职业
3,4,2,1'''
words = z.split('\n')[0].split(',')
indexs = z.split('\n')[-1].split(',')

ret = {}
for index, word in zip(indexs, words):
    ret[index] = word
w_list = [temp[1] for temp in sorted(ret.items(), key=lambda x:x[0])]
print(','.join(w_list))