我有一個數字列表(列表的長度存儲在一個單獨的變量),並需要檢查是否有任何連續的整數是相同的,然後打印一條消息,如果他們是。我將如何做到這一點?如何檢查列表中的兩個連續數字(整數)是否具有相同的值?
-1
A
回答
1
試試這個:使用itertools.groupby
>>> import itertools
>>> your_list = [4, 5, 5, 6]
>>> for x, y in itertools.groupby(your_list):
... if len(list(y))>=2:
... print x, "they are consecutive"
...
5 they are consecutive
0
容易通過zip
平與一個元素抵消其自身的副本做名單:
list1 = [1, 2, 3, 4, 4, 5, 6, 7, 8, 9]
for x, y in zip(list1, list1[1:]):
if x == y:
print x
上面的代碼將打印4
。
或者,如果你也想索引:
list1 = [1, 2, 3, 4, 4, 5, 6, 7, 8, 9]
for index, pair in enumerate(zip(list1, list1[1:])):
if pair[0] == pair[1]:
print 'index:', index, 'value:', pair[0]
這將輸出index: 3 value: 4
0
真的不是最優化的方式,但總是滑稽可笑:
True in [a==b for a,b in zip(l[:-1],l[1:])]
,當然還有:
if True in [a==b for a,b in zip(l[:-1],l[1:])]:
print("message")
1
Python有做配方這款名爲pairwise,你可能會感興趣:
from itertools import tee, izip
def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = tee(iterable)
next(b, None)
return izip(a, b)
number_list = [1, 2, 2, 3, 4, 4, 5, 5, 5]
print [a for a, b in pairwise(number_list) if a == b]
這將顯示已對如下號碼的清單:
[2, 4, 5, 5]
相關問題
- 1. 如何檢查列表中的兩個數字是否相同
- 2. 後續工作:檢查兩個整數是否具有相同的符號
- 3. 檢查兩個數組是否具有相同的值
- 4. 檢查數組的列表是否具有相同的值
- 5. 檢查數字列表是否連續
- 6. 檢查兩個整數具有相同的「個位數」
- 7. 檢查兩個列表中的相同位置是否有相同的值
- 8. 如何檢查數組是否具有相同的值?
- 9. 如何使用msql檢查兩個字段是否具有相同的值?
- 10. 計算連續有多少個數字具有相同的值
- 11. Javascript數組:如何檢查連續兩個單詞是否相同?
- 12. 如何檢查兩個PictureBox是否具有相同的圖像?
- 13. 如何檢查兩個JButton是否具有相同的ImageIcon?
- 14. 如何檢查兩個索引數組是否具有相同的值,即使PHP中的順序不相同?
- 15. 檢查2個數據表是否具有相同的模式
- 16. 如何檢查數值字段中的值是否是整數?
- 17. 具有相同值的兩個連續字段使Papaparse失敗?
- 18. 檢查相同的數字是否在連續兩次被隨機化
- 19. 如何檢查兩個字典是否包含相同的值?
- 20. 檢查SQL中的表中是否連續出現兩個不同的值?
- 21. 檢查輸入的數字是否具有整數值
- 22. 檢查兩個字段在文檔中是否具有相同的值
- 23. 檢查mysql中兩列是否有相同的數據行
- 24. 如何檢查兩個字符串是否具有相同的字符?
- 25. 查看列表中的值是否具有相同的值〜Python
- 26. 檢查列中的單元格是否具有相同的值
- 27. 如何檢查列表是否在grails中具有相同的值?
- 28. 檢查兩個以上的數組是否具有相同的數據
- 29. 得到列值具有相同的另一列的兩個連續行的值
- 30. 檢查兩個列表是否有相同的項目
保存的第一個值的變量,然後在列表中循環檢查當前值和變量值,然後將該變量設置爲當前值。只要當前值等於變量就打印出來。嘗試用這個邏輯編寫一些代碼,然後在代碼中詢問一個有問題的問題。 – dstudeba