หากฉันมีพจนานุกรมเช่น:
{ 'a': 1, 'b': 2, 'c': 3 }
ฉันจะแปลงเป็นสิ่งนี้ได้อย่างไร
[ ('a', 1), ('b', 2), ('c', 3) ]
และฉันจะแปลงเป็นสิ่งนี้ได้อย่างไร
[ (1, 'a'), (2, 'b'), (3, 'c') ]
xอยู่แล้วtupleในรหัสของคุณ (มันเป็นธรรมชาติของitemsการผลิตของ iterable tuples), มันจะง่าย / เร็วขึ้นเพื่อทำ[x[::-1] for x in d.items()]; ชิ้นที่ย้อนกลับสร้างtupleขนาดที่เหมาะสมโดยตรงแทนที่จะมีตัวtupleสร้างแบบซ้ำ ๆ ซ้ำ ๆ กัน (ด้วยการหาตำแหน่งโดยรวมและการปรับขนาดในตอนท้าย) a tupleจากตัวreversedวนซ้ำ
k, vรูปแบบเสมอไปในกรณีเช่นนี้
compatibilityแท็กเนื่องจากความแตกต่างของ py2.x // py3.x
[tuple(reversed(x)) for x in d.items()]