Wie/warum sind {2,3,10} und {x,3,10} mit x=2 unterschiedlich geordnet?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie/warum sind {2,3,10} und {x,3,10} mit x=2 unterschiedlich geordnet?

by Guest » 13 Jan 2025, 17:15

Mengen sind ungeordnet, bzw. ihre Reihenfolge ist ein Implementierungsdetail. Dieses Detail interessiert mich. Und ich habe einen Fall gesehen, der mich überrascht hat:

Code: Select all

print({2, 3, 10})
x = 2
print({x, 3, 10})
Ausgabe (Online ausprobieren!):

Code: Select all

{3, 10, 2}
{10, 2, 3}
Obwohl identische Elemente in identischer Reihenfolge geschrieben sind, werden sie unterschiedlich angeordnet. Wie passiert das und wird das aus irgendeinem Grund absichtlich gemacht, z. B. um die Suchgeschwindigkeit zu optimieren?
Meine sys.version und sys.implementation:< /p>

Code: Select all

3.13.0 (main, Nov  9 2024, 10:04:25) [GCC 14.2.1 20240910]
namespace(name='cpython', cache_tag='cpython-313', version=sys.version_info(major=3, minor=13, micro=0, releaselevel='final', serial=0), hexversion=51183856, _multiarch='x86_64-linux-gnu')

Top