3
A
回答
2
是的。 for循環是順序的。
1
是的,循環將始終從第一個字符開始逐個打印每個字母,並以最後一個字符結束。
5
是的。這是因爲str
類型是不可變的序列。序列表示有限的訂購的元素集(請參閱參考指南的the Data model chapter中的序列)。
通過給定字符串(任何序列)的迭代可以保證總是以相同的順序爲CPython解釋器,CPython版本和Python實現的不同運行產生相同的結果。
3
是的。在內部,你在那裏的字符串存儲在一個c樣式數組中(取決於解釋器的實現),作爲一個連續的數據數組,可以創建一個iterator。爲了使用for ... in ...
語法,您需要能夠迭代覆蓋in之後的對象。字符串提供自己的迭代器,從而允許通過for語法按照順序排列,如do all python sequences。
對於列表甚至您創建的自定義對象也是如此。然而,並非所有可迭代的python對象都必須按順序或代表它們存儲的值,這是一個明確的例子,它是dictionary。字典迭代產生的鍵可能會或可能不是你添加它們的順序(取決於你使用的Python的版本等等,所以不要假定它的順序除非你使用OrderedDict)而不是像列表元組這樣的順序值和串。
3
是的。在字符串上,for循環以的順序遍歷字符。對於列表和元組也是如此 - for循環將按順序迭代元素。
您可能會想到套和字典。這些不指定一個特定的順序,因此:
for x in {"a","b","c"}: # over a set
print(x)
for key in {"x":1, "y":2, "z":3}: # over a dict
print(key)
將一些任意的順序,你不能提前預測容易重複。
請參閱此堆棧溢出answer瞭解有關字典和集合的訂單保證的一些附加信息。
相關問題
- 1. C中的循環是否保證按順序執行?
- 2. 循環中的異步請求是否按照循環執行的順序保證排隊?
- 3. Task.Factory.StartNew保證執行順序
- 4. 循環是在gpu上按順序還是並行執行?
- 5. 反轉字符串 - 循環不執行
- 6. 循環執行字符串JSON
- 7. 運行循環中的執行順序
- 8. 睡眠的使用是否保證線程的執行順序?
- 9. Session.run(fetches)是否保證按順序執行它的「fetches」參數?
- 10. 集合上的高階函數是否保證順序執行?
- 11. 與字符串是否確認循環
- 12. 的NodeJS事件循環執行順序
- 13. 無法順序執行循環
- 14. do/while循環中的執行順序
- 15. 字母順序在循環
- 16. 是NSArray for循環枚舉順序保證?
- 17. 並行執行每個循環的順序執行
- 18. 在單個線程內執行Java代碼是否保證順序?
- 19. 是否保證初始化順序
- 20. 向量元素是否保證順序?
- 21. 是否保證SKNode.nodesAtPoint的順序?
- 22. std :: list的順序是否有保證?
- 23. FieldInfo [] Type.GetFields()的順序是否有保證?
- 24. Amazon S3是否保證書寫順序?
- 25. 是否保證KeyListeners的調用順序?
- 26. JavaScript for'循環中的執行順序是什麼?
- 27. JavaScript for循環執行的確切順序是什麼?
- 28. 檢查字符串是否包含for循環的字符?
- 29. Night循環執行命令for循環內循環順序不正確
- 30. 字符串驗證 - 用do while循環