Jadual Kandungan
回复内容:
Rumah pembangunan bahagian belakang tutorial php 会php和python的大神进来帮忙转换一段代码

会php和python的大神进来帮忙转换一段代码

Jun 06, 2016 pm 08:09 PM
php python

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

<code>//倒序排序
function my_sort($a,$b)
{
    if ($a==$b) return 0;
   return ($a5,'bbb'=>3,'ccc'=>4);

usort($arr,"my_sort");

echo json_encode($arr);
</code>
Salin selepas log masuk
Salin selepas log masuk

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

回复内容:

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

<code>//倒序排序
function my_sort($a,$b)
{
    if ($a==$b) return 0;
   return ($a5,'bbb'=>3,'ccc'=>4);

usort($arr,"my_sort");

echo json_encode($arr);
</code>
Salin selepas log masuk
Salin selepas log masuk

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

PHP 中的 associative array 是一種 ordered mapping (有序映射).
這代表了 Python 中的 dictionary 並非完全相等於 associative array.

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

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

  2. OrderedDict 轉為 list 再轉為 json

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


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

代碼:

<code>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)
</code>
Salin selepas log masuk

結果:

<code>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)])
</code>
Salin selepas log masuk

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

import json
arr={"aaa":5,"bbb":3,"ccc":4}
print json.dumps(sorted(arr.values(),reverse=True))#'[5, 4, 3]'
Salin selepas log masuk

python代码(改造后)

<code>#!/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)
    
</code>
Salin selepas log masuk

输出:

<code>/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
</code>
Salin selepas log masuk

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1665
14
Tutorial PHP
1269
29
Tutorial C#
1249
24
Golang vs Python: Prestasi dan Skala Golang vs Python: Prestasi dan Skala Apr 19, 2025 am 12:18 AM

Golang lebih baik daripada Python dari segi prestasi dan skalabiliti. 1) Ciri-ciri jenis kompilasi Golang dan model konkurensi yang cekap menjadikannya berfungsi dengan baik dalam senario konvensional yang tinggi. 2) Python, sebagai bahasa yang ditafsirkan, melaksanakan perlahan -lahan, tetapi dapat mengoptimumkan prestasi melalui alat seperti Cython.

Penggunaan PHP yang berterusan: Sebab -sebab ketahanannya Penggunaan PHP yang berterusan: Sebab -sebab ketahanannya Apr 19, 2025 am 12:23 AM

Apa yang masih popular adalah kemudahan penggunaan, fleksibiliti dan ekosistem yang kuat. 1) Kemudahan penggunaan dan sintaks mudah menjadikannya pilihan pertama untuk pemula. 2) Bersepadu dengan pembangunan web, interaksi yang sangat baik dengan permintaan HTTP dan pangkalan data. 3) Ekosistem yang besar menyediakan banyak alat dan perpustakaan. 4) Komuniti aktif dan Sumber Sumber Terbuka menyesuaikan mereka dengan keperluan baru dan trend teknologi.

Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Python vs C: Lengkung pembelajaran dan kemudahan penggunaan Apr 19, 2025 am 12:20 AM

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

Python vs JavaScript: Persekitaran dan Alat Pembangunan Python vs JavaScript: Persekitaran dan Alat Pembangunan Apr 26, 2025 am 12:09 AM

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

Keserasian IIS dan PHP: menyelam yang mendalam Keserasian IIS dan PHP: menyelam yang mendalam Apr 22, 2025 am 12:01 AM

IIS dan PHP serasi dan dilaksanakan melalui FastCGI. 1.IIS meneruskan permintaan fail .php ke modul FastCGI melalui fail konfigurasi. 2. Modul FastCGI memulakan proses PHP untuk memproses permintaan untuk meningkatkan prestasi dan kestabilan. 3. Dalam aplikasi sebenar, anda perlu memberi perhatian kepada butiran konfigurasi, debugging ralat dan pengoptimuman prestasi.

Golang vs Python: Kebaikan dan Kekejangan Golang vs Python: Kebaikan dan Kekejangan Apr 21, 2025 am 12:17 AM

Golangisidealforbuildingscalablesystemsduetoitseficiencyandcurrency, whilepythonexcelsinquickscriptinganddataanalysisduetoitssimplicityandvastecosystem.golang'sdesignencouragescouragescouragescouragescourageSlean, readablecodeanditsouragescouragescourscean,

Laravel vs Python (dengan rangka kerja): Analisis Perbandingan Laravel vs Python (dengan rangka kerja): Analisis Perbandingan Apr 21, 2025 am 12:15 AM

Laravel sesuai untuk projek -projek yang pasukannya biasa dengan PHP dan memerlukan ciri -ciri yang kaya, manakala rangka kerja Python bergantung kepada keperluan projek. 1. Laravel menyediakan sintaks elegan dan ciri -ciri yang kaya, sesuai untuk projek yang memerlukan perkembangan dan fleksibiliti pesat. 2. Django sesuai untuk aplikasi yang kompleks kerana konsep "inklusi bateri" nya. 3.Flask sesuai untuk prototaip cepat dan projek kecil, memberikan fleksibiliti yang hebat.

Python vs C: Memahami perbezaan utama Python vs C: Memahami perbezaan utama Apr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

See all articles