मेरे पास सूचियों की एक सूची है जिसमें numpy int32 मान हैं। मैं इन सभी int32 मानों को नियमित int में कनवर्ट करना चाहता हूं। इसका कारण यह है कि मेरी प्रक्रिया के एक भाग के रूप में इन मूल्यों को बाद में एक गैर अधिकतम दमन समारोह में खिलाया जाता है, जो int32 को स्वीकार नहीं करेगा।

नीचे मेरा डेटा कैसा दिखता है (नियमित int रूप में) की संरचना नीचे दी गई है। मुझे नहीं पता कि int32 मानों के लिए परीक्षण सेट कैसे बनाया जाए... अन्यथा मुझे शायद इस समस्या का पता चल जाएगा।

Ints . की सूची की सूची

test_list = [[1,2,3,4],[5,6,7,8]]

संपादित करें: कुछ स्क्रीनशॉट यह समझने में सहायता के लिए कि मेरा डेटा कैसा दिखता है।

enter image description here enter image description here

1
user2355903 24 सितंबर 2020, 21:48

2 जवाब

सबसे बढ़िया उत्तर

यह काम करना चाहिए:

In [167]: [[int(x) for x in sublist] for sublist in test_list]
Out[167]: [[1, 2, 3, 4], [5, 6, 7, 8]]
0
idar 24 सितंबर 2020, 21:51

एक गैर-पुनरावर्ती रूपांतरण के उदाहरण।

संरचना को ndarray के रूप में रखने के लिए निम्नलिखित का उपयोग करें:

a.astype(int)

>>> array([[1, 2, 3, 4],
           [5, 6, 7, 8]])

या इससे भी अधिक सरलता से, इसका उपयोग ndarray को list में बदलने के लिए करें:

a.tolist()

>>> [[1, 2, 3, 4], [5, 6, 7, 8]]

पृष्ठभूमि:

आप उल्लेख करते हैं कि आपकी सूची int32 मानों की है। इस प्रकार, इसकी अत्यधिक संभावना है कि 'सूची' वास्तव में एक numpy.ndarray है। यहाँ एक उदाहरण है:

a = np.array([[1,2,3,4],[5,6,7,8]], dtype=np.int32)

>>> array([[1, 2, 3, 4],
           [5, 6, 7, 8]], dtype=int32)

यदि ऐसा है, तो ndarray को int मानों के एक 'सामान्य' list में परिवर्तित करना उतना ही सरल है जितना कि ऊपर दिखाए गए दो उदाहरण।

3
S3DEV 24 सितंबर 2020, 22:12