我是靠谱客的博主 冷傲飞机,最近开发中收集的这篇文章主要介绍php代码转python代码,会php和python的大神进来帮忙转换一段代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

求把这段php代码转成python的代码,谢谢!

//倒序排序

function my_sort($a,$b)

{

if ($a==$b) return 0;

return ($a5,'bbb'=>3,'ccc'=>4);

usort($arr,"my_sort");

echo json_encode($arr);

简单说就是数组倒序排序,然后转成json格式。

回复内容:

求把这段php代码转成python的代码,谢谢!

//倒序排序

function my_sort($a,$b)

{

if ($a==$b) return 0;

return ($a5,'bbb'=>3,'ccc'=>4);

usort($arr,"my_sort");

echo json_encode($arr);

简单说就是数组倒序排序,然后转成json格式。

PHP 中的 associative array 是一種 ordered mapping (有序映射).

這代表了 Python 中的 dictionary 並非完全相等於 associative array.

其次, json 據我所知並不支援 ordered mapping,所以如果你想要完成這項任務可能要:

使用 Python 中的有序映射對象: OrderedDict (請參考OrderedDict)

將 OrderedDict 轉為 list 再轉為 json

到時候要使用該項資料時,必須從 json 中 load 進 list 再轉回 OrderedDict

以下是 Python3 的代碼讓你參考:

代碼:

import json

from collections import OrderedDict

# using OrderedDict

arr = {"aaa":5,"bbb":3,"ccc":4, "ddd":7}

arr = OrderedDict(sorted(arr.items(), key=lambda item: item[1], reverse=True))

# or you can create an OrderedDict directly:

# arr = OrderedDict([('aaa', 5), ('bbb', 3), ('ccc', 4), ('ddd', 7)])

print(arr)

# list

arr = list(arr.items())

print(arr)

# json dump

json_arr = json.dumps(arr)

print(json_arr)

# json load

arr = OrderedDict(json.loads(json_arr))

print(arr)

結果:

OrderedDict([('ddd', 7), ('aaa', 5), ('ccc', 4), ('bbb', 3)])

[('ddd', 7), ('aaa', 5), ('ccc', 4), ('bbb', 3)]

[["ddd", 7], ["aaa", 5], ["ccc", 4], ["bbb", 3]]

OrderedDict([('ddd', 7), ('aaa', 5), ('ccc', 4), ('bbb', 3)])

P.S. 任何不清楚的地方都歡迎用評論告訴我,我們可以再討論

import json

arr={"aaa":5,"bbb":3,"ccc":4}

print json.dumps(sorted(arr.values(),reverse=True))#'[5, 4, 3]'

python代码(改造后)

#!/usr/bin/env python

#encoding:utf-8

import json

if __name__ == '__main__':

myDict = {'aaa':5,'bbb':6,'ccc':777}

outDic = sorted(myDict.iteritems(), key=lambda asd: asd[1], reverse=True)

print '排序前的字典,类似于php的array'

print myDict

print '排序后json输出:'

print json.dumps(outDic)

输出:

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/luyh/www/python/lesson1/pysort.py

排序前的字典,类似于php的array

{'aaa': 5, 'bbb': 6, 'ccc': 777}

排序后json输出:

[["ccc", 777], ["bbb", 6], ["aaa", 5]]

Process finished with exit code 0

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

最后

以上就是冷傲飞机为你收集整理的php代码转python代码,会php和python的大神进来帮忙转换一段代码的全部内容,希望文章能够帮你解决php代码转python代码,会php和python的大神进来帮忙转换一段代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部