找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3660|回复: 4

[已回复] 请问怎么根据数组a对数组b进行排序?

1

主题

3

帖子

3

积分

贫民

积分
3
andeaker 发表于 2016-11-27 16:39:40 | 显示全部楼层 |阅读模式
有两个数组:
a=[98.5,97,99,87.5,63]
b=['张三','李四','王五','马六','陈七']

它们之间的位置是对应的,也就是张三在数组b中位置是0,对应数组a的98.5,请问如果我对a由小到大排序之后,数组b该怎么同样对应的排序?

回复

使用道具 举报

3

主题

278

帖子

278

积分

侠客

积分
278

热心会员

uitb 发表于 2016-11-27 17:19:46 | 显示全部楼层
把a,b搞成字典
a排好序后,再按a的顺序从字典中读取值,重新生成b
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
andeaker  楼主| 发表于 2016-11-27 17:25:59 来自手机 | 显示全部楼层
实际数据里有相同值,不能成字典吧?a、b都有…
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
chaserchen 发表于 2016-11-27 21:54:40 | 显示全部楼层
本帖最后由 chaserchen 于 2016-11-27 21:57 编辑

我尝试解了一下,你看看可以吗:
import operator
k = zip(b, a)
k.sort(key=operator.itemgetter(1))
[b, a] = [list(x) for x in zip(*k)]

点评

支持!  发表于 2016-11-28 18:10
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表