Python中文
首页
教程
问答
标签
搜索
登录
注册
在python中排列数组
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试根据另一个数组的值排列一个数组。 A=[5,6,7,8] P=[1,3,2,0] 应该回来 [6,8,7,5]</p> <p>我用python编写了以下代码。我想看看这是否是一个可以接受的解决这个问题的方法,或者是否有更好的方法来解决这个问题</p> <pre><code>def permute(A, P): for i in range(len(P)): if i != P[i]: if int(P[P[i]]) >= 0: if A[i]>0: A[i], P[i]=A[P[i]], -A[i] else: A[i], P[i] = A[P[i]], f"{A[i]}" else: if isinstance(P[P[i]],int): A[i], P[i] = -P[P[i]], -A[i] else: A[i], P[i] = int(P[P[i]]), f"{A[i]}" return(A) </code></pre> <p>我将A中的原始值作为负值存储在p中,这样我就可以通过更改符号将其检索回来。 但是,如果原始数组中的值为负数,我将进行字符串转换,以跟踪值为负数的时间和在P中存储为负数的时间</p> <p>这段代码是有效的,但正在寻找关于是否可以以更干净的方式实现这一点的想法</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果我理解正确,这不是你想要的吗</p> <pre><code>A = [5, 6, 7, 8] P = [1, 3 ,2, 0] for i in range(len(P)): print(A[P[i]]) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何提高Djang的410误差
3 回答
如何提高doc2vec模型中两个文档(句子)的余弦相似度?
10 回答
如何提高Docker的日志限制?|[输出已剪裁,达到日志限制100KiB/s]
1 回答
如何提高DQN的性能?
1 回答
如何提高EasyOCR的准确性/预测?
9 回答
如何提高Euler#39项目解决方案的效率?
6 回答
如何提高F1成绩进行分类
9 回答
如何提高FaceNet的准确性
6 回答
如何提高fft处理的精度?
6 回答
如何提高Fibonacci实现对大n的精度?
10 回答
如何提高Flask与psycopg2的连接时间
5 回答
如何提高FosterCauer变换的scipy.signal.invres()的数值稳定性?
4 回答
如何提高gae查询的性能?
8 回答
如何提高GANs用于时间序列预测/异常检测的结果
5 回答
如何提高gevent和tornado组合的性能?
8 回答
如何提高googleappengin请求日志的吞吐量
7 回答
如何提高googlevision文本识别的准确性
2 回答
如何提高groupby/apply效率
1 回答
如何提高Gunicorn中的请求率
3 回答
如何提高G中的文件编码转换
9 回答