मैं नीचे magic
फ़ंक्शन कैसे लिखूं?एक संख्या को पूर्णांक की एक सूची में बदलें
>>> num = 123
>>> lst = magic(num)
>>>
>>> print lst, type(lst)
[1, 2, 3], <type 'list'>
मैं नीचे magic
फ़ंक्शन कैसे लिखूं?एक संख्या को पूर्णांक की एक सूची में बदलें
>>> num = 123
>>> lst = magic(num)
>>>
>>> print lst, type(lst)
[1, 2, 3], <type 'list'>
a = 123456
b = str(a)
c = []
for digit in b:
c.append (int(digit))
print c
आपका मतलब है?
num = 1234
lst = [int(i) for i in str(num)]
आप ऐसा कर सकता है:
>>> num = 123
>>> lst = map(int, str(num))
>>> lst, type(lst)
([1, 2, 3], <type 'list'>)
ध्यान दें कि पायथन 3.0 मानचित्र में एक जनरेटर लौटाएगा, सूची नहीं। – Stephan202
शब्द सूची चर नाम के रूप में उपयोग न करें! यह डेटा प्रकार में निर्मित पायथन का नाम है।
इसके अलावा, कृपया अपने प्रश्न को स्पष्ट करें।
a = 123
my_list = [a]
और "pythonizing" गोलाबारी का जवाब: आप देख रहे हैं एक एक सदस्य सूची बनाने के लिए एक तरह से करने के लिए, निम्न कार्य करें
a = 123
my_list = [int(d) for d in str(a)]
मुझे पाइथोनिज्ड होने पर मुझे यह पसंद है। मुझे अब बहुत अच्छा लगता है। : पी – RedBlueThing
magic = lambda num: map(int, str(num))
तो बस करना
magic(12345)
या
magic(someInt) #or whatever
भगवान द्वारा यह अद्भुत है। – franklin
बस का उपयोग करें:
a= str (num)
lst = list(a)
जो वर्णों की एक सूची वापस करेगा, * सीधे * पूर्णांक –
>>> from collections import deque
>>> def magic(num):
digits = deque()
while True:
num,r = divmod(num,10)
digits.appendleft(r)
if num == 0:
break
return list(digits)
>>> magic(123)
[1, 2, 3]
मेरे समय के अनुसार, इस समाधान, स्ट्रिंग विधि (magic2
) की तुलना में काफी तेजी से होता है भी छोटे उदाहरण के लिए।
>>> def magic2(num):
return [int(i) for i in str(num)]
समय:
magic
>>> timeit.timeit(setup='from __main__ import magic', stmt='magic(123)')
1.3874572762508706
>>> timeit.timeit(setup='from __main__ import magic', stmt='magic(999999999)')
3.2624468999981673
magic2
>>> timeit.timeit(setup='from __main__ import magic2', stmt='magic2(123)')
3.693756106896217
>>> timeit.timeit(setup='from __main__ import magic2', stmt='magic2(999999999)')
10.485281719412114
यह अधिक उपयोगी उत्तर है। – spider
'@ विल्बेबीबी के जवाब से 'नक्शा (int, str (n))' पाइथन 3 पर परीक्षण किया गया है) पाइथन 3 में –
@ फ़ेलिप बुक्कोनी 'नक्शा' की तुलना में तेज़ है, केवल एक जनरेटर नहीं, बल्कि 'सूची' नहीं। आपको 'सूची (नक्शा (int, str (n))'। 'नक्शा (int, str (n)) की आवश्यकता है,' अपने आप से बहुत कुछ नहीं करता है। – jamylak
num = map(int, list(str(num)))
यह रूप में नामित किया गया है, तो जादू, क्यों न सिर्फ जादू का प्रयोग करें:
def magic(x):
if x < 10:
return [x]
else:
return magic(x//10) + [x%10]
जो कुछ गुम है वह कुछ घुंघराले ब्रेसिज़ है! ;) –
कई वर्षों बाद और कुछ समय के लिए पाइथन में काम करने के बाद इस जवाब पर लौट रहा है। यह मेरा पसंदीदा है -> [int) x (x) में x के लिए int (x)] जो @ BjornTipling का उत्तर होता है :) – RedBlueThing