鑒于:
d = {'c': 3, 'b': 2, 'a': 1, 'd': 4, 'e': 5}
sorted_dict = d.keys()
sorted_dict = sorted(sorted_dict)
for key in sorted_dict:
print(key)
我如何使它輸出其他所有鍵。現在它輸出:
a
b
c
d
e
但我希望它輸出:
a
c
e
uj5u.com熱心網友回復:
Python 為此類問題提供了非常強大和優雅的解決方案“切片”。這是一個太大的話題,無法在這里完全解釋,但是網上關于這個核心話題的資訊很多,這里有一個建議: https ://www.pythontutorial.net/advanced-python/python-slicing/
要解決您的具體問題:
d = {'c': 3, 'b': 2, 'a': 1, 'd': 4, 'e': 5}
sorted_dict = d.keys()
sorted_dict = sorted(sorted_dict)
for key in sorted_dict[::2]:
print(key)
這里的 [::2] 指定您要從頭到尾獲取所有排序串列,但步長為 2(即每隔一個元素)
順便說一句,您可以省去 for 回圈,只需列印您的串列切片!..
d = {'c': 3, 'b': 2, 'a': 1, 'd': 4, 'e': 5}
sorted_dict = d.keys()
sorted_dict = sorted(sorted_dict)
print(sorted_dict[::2])
['a', 'c', 'e']
uj5u.com熱心網友回復:
讓我們d成為列印交替行的字典。
d = {'c': 3, 'b': 2, 'a': 1, 'd': 4, 'e': 5}
d = dict(sorted(d.items()))
字典是序列,就像串列一樣。兩者都可以使用類似的技術來保持交替條目:
for i, key in enumerate(d.keys()):
if i % 2 == 0:
print(key)
或者:
for key in list(d.keys())[::2]:
print(key)
uj5u.com熱心網友回復:
sorted_dict = d.keys()
sorted_dict = sorted(sorted_dict)
for key in range(0, len(sorted_dict),2): print(key)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/528181.html
標籤:Python字典
