หากฉันมีพจนานุกรมเช่น:
{ 'a': 1, 'b': 2, 'c': 3 }
ฉันจะแปลงเป็นสิ่งนี้ได้อย่างไร
[ ('a', 1), ('b', 2), ('c', 3) ]
และฉันจะแปลงเป็นสิ่งนี้ได้อย่างไร
[ (1, 'a'), (2, 'b'), (3, 'c') ]
x
อยู่แล้วtuple
ในรหัสของคุณ (มันเป็นธรรมชาติของitems
การผลิตของ iterable tuple
s), มันจะง่าย / เร็วขึ้นเพื่อทำ[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()]