වන විට පිඹුරා 3.6 වන බිල්ට් dict නියෝග කරනු ඇත
ශුභ ආරංචියක්, එබැවින් OP හි මුල් භාවිතා කිරීමේ යුගලය දත්ත සමුදායකින් ලබාගෙන ඇත්තේ අද්විතීය නූල් අයිඩී යතුරු ලෙස සහ සංඛ්යාත්මක අගයන් ලෙස ගොඩනංවන ලද පයිතන් v3.6 + විධානයට අගයන් ලෙස ය, දැන් ඇතුළත් කිරීමේ අනුපිළිවෙලට ගරු කළ යුතුය.
දත්ත සමුදා විමසුමක ප්රති ing ලයක් ලෙස තීරු වගු ප්රකාශන දෙකක් කියන්නේ නම්:
SELECT a_key, a_value FROM a_table ORDER BY a_value;
k_seq සහ v_seq (සංඛ්යාත්මක දර්ශකයෙන් පෙලගැසී ඇති අතර පා course මාලාවේ එකම දිග සමඟ) පයිතන් ටුපල් දෙකක ගබඩා වේ, පසුව:
k_seq = ('foo', 'bar', 'baz')
v_seq = (0, 1, 42)
ordered_map = dict(zip(k_seq, v_seq))
පසුව ප්රතිදානය කිරීමට ඉඩ දෙන්න:
for k, v in ordered_map.items():
print(k, v)
මෙම අවස්ථාවෙහිදී (නව පයිතන් 3.6+ බිල්ට් ඩික්ට් සඳහා!):
foo 0
bar 1
baz 42
v හි අගය අනුව එකම අනුපිළිවෙලින්.
මගේ පරිගණකයේ පයිතන් 3.5 ස්ථාපනය කරන විට එය දැනට ලබා දෙන්නේ:
bar 1
foo 0
baz 42
විස්තර:
රේමන්ඩ් හෙටින්ගර් විසින් 2012 දී යෝජනා කරන ලද පරිදි ( "වේගවත් පුනරාවර්තනයක් සහිත වඩාත් සංයුක්ත ශබ්දකෝෂ" යන මාතෘකාව සහිත පයිතන්-දේව් හි cf. තැපෑල ) සහ දැන් (2016 දී) වික්ටර් ස්ටිනර් විසින් තැපෑලෙන් පයිතන්-දේව් වෙත ලිපියක් මගින් ප්රකාශයට පත් කරන ලදී. සංයුක්ත හා පුද්ගලික අනුවාදයක් ලබා ගනී; සහ 27350 නිකුතුව නිවැරදි කිරීම / ක්රියාත්මක කිරීම හේතුවෙන් “සංයුක්ත හා ඇණවුම් කළ නියෝගය” අපි දැන් බිල්ට් ඇතුලත් කරන්න සාමය ආරක්ෂා කිරීම සඳහා dict භාවිතා කිරීමට, හැකි වනු ඇත Python 3.6 !!
පළමු පියවර ලෙස මෙය තුනී ස්ථරයක් ඕඩර්ඩෙක්ට් ක්රියාත්මක කිරීමට හේතු වනු ඇතැයි අපේක්ෂා කරමු. @ ජිම් ෆසරකිස්-හිල්යාඩ් පෙන්වා දුන් පරිදි, සමහරු අනාගතයේ දී ඕඩර්ඩෙක්ට් වර්ගය සඳහා භාවිතා කිරීමේ අවස්ථා දකිති. මම හිතන්නේ පයිතන් ප්රජාව පරිස්සමින් පරීක්ෂා කර බලනු ඇත, මෙය කාලය පිළිබඳ පරීක්ෂණයට ලක් වන්නේ නම් සහ ඊළඟ පියවර මොනවාද යන්න.
ස්ථාවර ඇණවුමකින් විවෘත කළ හැකියාවන් අතපසු නොකිරීමට අපගේ කේතීකරණ පුරුදු ගැන නැවත සිතා බැලීමට කාලය:
- මූල පද තර්ක සහ
- (අතරමැදි) ඩික්ට් ගබඩා කිරීම
පළමුවැන්න එය සමහර අවස්ථාවල කාර්යයන් සහ ක්රමවේදයන් ක්රියාත්මක කිරීමේදී යැවීම පහසු කරයි.
දෙවැන්න dict
නල මාර්ග සැකසීමේදී අතරමැදි ආචයනය ලෙස වඩාත් පහසුවෙන් භාවිතා කිරීමට දිරිගන්වයි .
රේමන්ඩ් හෙට්ටිංගර් විසින් " පයිතන් 3.6 ශබ්දකෝෂ පිටුපස ඇති තාක්ෂණය " විස්තර කරන ලියකියවිලි කාරුණිකව සපයන ලදී - ඔහුගේ සැන් ෆ්රැන්සිස්කෝ පයිතන් රැස්වීම් සමූහ ඉදිරිපත් කිරීම 2016-DEC-08 වෙතින්.
සමහර විට ස්ටැක් පිටාර ගැලීම ඉහළ සැරසිලි ප්රශ්න සහ පිළිතුරු පිටුවලට මෙම තොරතුරු වල ප්රභේද ලැබෙනු ඇති අතර බොහෝ උසස් තත්ත්වයේ පිළිතුරු සඳහා එක් අනුවාදයක් යාවත්කාලීන කිරීම අවශ්ය වේ.
Caveat Emptor (නමුත් 2017-12-15 යාවත්කාලීන කිරීමද බලන්න):
@Ajcr නිවැරදිව සටහන් කර ඇති පරිදි: "මෙම නව ක්රියාවට නැංවීමේ අංගය ක්රියාත්මක කිරීමේ විස්තරයක් ලෙස සලකනු ලබන අතර එය විශ්වාස නොකළ යුතුය." ( whatsnew36 වෙතින් ) නිට් පික් කිරීම නොවේ, නමුත් උපුටා දැක්වීම ටිකක් අශුභවාදී ලෙස කපා ඇත ;-). එය දිගටම පවතින්නේ "(මෙය අනාගතයේ දී වෙනස් විය හැකි නමුත්, වර්තමාන හා අනාගත පයිතන් ක්රියාවට නැංවීම සඳහා අර්ථකථන-සංරක්ෂණ අර්ථ නිරූපණයන් අනිවාර්ය කිරීම සඳහා භාෂා පිරිවිතර වෙනස් කිරීමට පෙර, මෙම නව නියෝග ක්රියාත්මක කිරීම සඳහා භාෂා කිහිපයක් නිකුත් කිරීමට අපේක්ෂා කෙරේ; අහඹු පුනරාවර්තන අනුපිළිවෙල තවමත් ක්රියාත්මක වන භාෂාවේ පැරණි අනුවාදයන් සමඟ පසුපසට-ගැළපුම ආරක්ෂා කර ගැනීමට උපකාරී වේ, උදා: පයිතන් 3.5).
සමහර මානව භාෂාවල මෙන් (උදා: ජර්මානු), භාවිතය භාෂාව හැඩගස්වන අතර, කැමැත්ත දැන් ප්රකාශයට පත් කර ඇත ... whatsnew36 හි .
යාවත්කාලීන කිරීම 2017-12-15:
දී මෙම පිඹුරා-dev ලැයිස්තුවට තැපැල් ගයිඩෝ වෑන් Rossum මෙසේ ප්රකාශ කලේ ය:
එය එසේ කරන්න. “ඩික්ට් ඇතුළු කිරීමේ අනුපිළිවෙල තබා ගනී” යනු තීන්දුවයි. ස්තූතියි!
ඉතින්, 3.6 අනුවාදය සීපයිතන් ඩික්ට් ඇතුළු කිරීමේ ඇණවුමේ අතුරු effect ලය දැන් භාෂා පිරිවිතරයේ කොටසක් බවට පත්වෙමින් තිබේ (තවදුරටත් ක්රියාත්මක කිරීමේ විස්තරයක් පමණක් නොවේ). collections.OrderedDict
සාකච්ඡාවේදී රේමන්ඩ් හෙටින්ගර් විසින් සිහිපත් කළ පරිදි එම තැපැල් නූල් කැපී පෙනෙන නිර්මාණ ඉලක්ක කිහිපයක් මතු විය.