python - स्ट्रिंग्स के साथ सभी को लोअरकेस सूची में लोअरकेस या अपरकेस में कनवर्ट करें




list (7)

मेरे पास एक पायथन सूची चर है जिसमें स्ट्रिंग्स हैं। क्या कोई पाइथन फ़ंक्शन है जो सभी तारों को एक पास में लोअरकेस में बदल सकता है और इसके विपरीत, अपरकेस?


Answers

इस नमूने के लिए समझ सबसे तेज़ है

$ python -m timeit -s 's=["one","two","three"]*1000' '[x.upper for x in s]'
1000 loops, best of 3: 809 usec per loop

$ python -m timeit -s 's=["one","two","three"]*1000' 'map(str.upper,s)'
1000 loops, best of 3: 1.12 msec per loop

$ python -m timeit -s 's=["one","two","three"]*1000' 'map(lambda x:x.upper(),s)'
1000 loops, best of 3: 1.77 msec per loop

एक छात्र पूछता है, एक ही समस्या के साथ एक और छात्र जवाब :) :)

fruits=['orange', 'grape', 'kiwi', 'apple', 'mango', 'fig', 'lemon']
newList = []
for fruit in fruits:
    newList.append(fruit.upper())
print(newlist)

पढ़ने के लिए आसान होने के अलावा (कई लोगों के लिए), सूची की समझ गति दौड़ जीतने के अलावा भी:

$ python2.6 -m timeit '[x.lower() for x in ["A","B","C"]]'
1000000 loops, best of 3: 1.03 usec per loop
$ python2.6 -m timeit '[x.upper() for x in ["a","b","c"]]'
1000000 loops, best of 3: 1.04 usec per loop

$ python2.6 -m timeit 'map(str.lower,["A","B","C"])'
1000000 loops, best of 3: 1.44 usec per loop
$ python2.6 -m timeit 'map(str.upper,["a","b","c"])'
1000000 loops, best of 3: 1.44 usec per loop

$ python2.6 -m timeit 'map(lambda x:x.lower(),["A","B","C"])'
1000000 loops, best of 3: 1.87 usec per loop
$ python2.6 -m timeit 'map(lambda x:x.upper(),["a","b","c"])'
1000000 loops, best of 3: 1.87 usec per loop

mylist = ['Mixed Case One', 'Mixed Case Two', 'Mixed Three']
print map(lambda x: x.lower(), mylist)
print map(lambda x: x.upper(), mylist)

यह सूची समझ के साथ किया जा सकता है। ये मूल रूप [function-of-item for item in some-list] रूप लेते हैं। उदाहरण के लिए, एक नई सूची बनाने के लिए जहां सभी आइटम कम-चरणबद्ध हैं (या दूसरे स्निपेट में ऊपरी-चरणबद्ध), आप इसका उपयोग करेंगे:

>>> [x.lower() for x in ["A","B","C"]]
['a', 'b', 'c']

>>> [x.upper() for x in ["a","b","c"]]
['A', 'B', 'C']

आप map फ़ंक्शन का भी उपयोग कर सकते हैं:

>>> map(lambda x:x.lower(),["A","B","C"])
['a', 'b', 'c']
>>> map(lambda x:x.upper(),["a","b","c"])
['A', 'B', 'C']

>>> map(str.lower,["A","B","C"])
['a', 'b', 'c']

विधि "संलग्न" सूची में एक पैरामीटर के रूप में अपना पैरामीटर जोड़ती है, जबकि "विस्तार" एक सूची प्राप्त करती है और इसकी सामग्री जोड़ती है।

उदाहरण के लिए,

विस्तार

    letters = ['a', 'b']
    letters.extend(['c', 'd'])
    print(letters) # ['a', 'b', 'c', 'd']

जोड़ना

    letters.append(['e', 'f'])
    print(letters) # ['a', 'b', 'c', 'd', ['e', 'f']]






python list