एक सरणी को देखते हुए, मैं किसी दिए गए शर्त से मेल खाने वाले तत्वों के सभी सूचकांक कैसे प्राप्त कर सकता हूं?किसी दिए गए शर्त से मेल खाने वाले तत्वों के सूचकांक खोजें
उदाहरण के लिए, अगर मेरे पास है:
arr = ['x', 'o', 'x', '.', '.', 'o', 'x']
सभी सूचकांकों जहां मद x
है खोजने के लिए, मैं कर सकता:
arr.each_with_index.map { |a, i| a == 'x' ? i : nil }.compact # => [0, 2, 6]
या
(0..arr.size-1).select { |i| arr[i] == 'x' } # => [0, 2, 6]
वहाँ एक है इसे हासिल करने के लिए अच्छा तरीका?
, आप तर्क या वाक्य रचना की तलाश कर रहे हैं तर्क के साथ मदद कर सकता है लेकिन नहीं वाक्यविन्यास यद्यपि :) माणिक से परिचित नहीं ज्यादा ... तुम एक 'regexp' – bonCodigo
मैं दोनों तर्क और वाक्य रचना लगता है कि उपयोग कर सकते हैं :) रेगेक्स के बारे में निश्चित नहीं है क्योंकि आइटम आवश्यक तार नहीं हैं। –
यह उन कुछ मामलों में से एक है जहां मुझे लगता है कि पाइथन की सूची की समझ वास्तव में बेहतर पढ़ती है: '[i i i, a enumerate (arr) अगर कोई ==' x '] '। बेंचमार्क –