我有這個python回圈:
for idx, device in enumerate(account.covers.values()):
所以當我這樣做的時候print(device.device_id)
我得到這個結果:
chdibcb32
chdbvvo13
f82074242
因為有3個設備,這是正確的。現在我只想訪問第一個chdibcb32。我試過print(device.device_id[0])了,但這只是列印每個輸出的第一個字母。
我怎樣才能做到這一點?
uj5u.com熱心網友回復:
為什么要麻煩回圈?
如果account.covers.values()回傳一個序列,你可以使用索引來獲取它的第一個元素:
device = account.covers.values()[0]
print(device.device_id)
如果它是一個迭代器,你可以使用next():
device = next(account.covers.values())
如果它是其他可迭代的(如dict 視圖或set),您可以使用:next(iter())
device = next(iter(account.covers.values()))
- 旁注:這個解決方案基本上相當于:
for device in account.covers.values(): break
uj5u.com熱心網友回復:
你不必回圈。print(account.covers.values()[0].device_id)如果我沒記錯的話,你可以這樣做。
uj5u.com熱心網友回復:
這是因為您使用每個回圈。每個專案都使用字串而不是串列。這就是為什么python選擇第一個字母而不是串列中的專案
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/473804.html
