Convert list to lower-case
Convert list to lower-case
I'm trying to get this column of words in input.txt:
Suzuki music Chinese music Conservatory Blue grass Rock n roll Rhythm Composition Contra Instruments
into this format:
"suzuki music", "chinese music", "conservatory music", "blue grass", "rock n roll", "rhythm"...
This code:
with open ('artsplus_stuff.txt', 'r') as f: list.append(", ".join(['%s' % row for row in f.read().splitlines()])) for item in list: item.lower() print list
returns a list, but the first letters are capitalized.
['Suzuki music, Chinese music, Conservatory, Blue grass, Rock n roll, Rhythm, Composition, Contra, Instruments ']
How do I get all the items lower-cased?
Thanks!
Answer isn't working on this list:
Chess Guitar Woodworking Gardening Car_restoration Metalworking Marksman Camping Backpacking_(wilderness) Hunting Fishing Whittling Geocaching Sports Model_Building Leatherworking Bowling Archery Hiking Connoisseur Photography Pool_(cue_sports) Mountaineering Cooking Blacksmith Aviator Magic_(illusion) Foreign_language Card_game Blog Paintball Fencing Brewing Amateur_Astronomy Genealogy Adventure_racing Knitting Computer_Programming Amateur_radio Audiophile Baking Bboying Baton_twirling Chainmail Constructed_language Coloring Crocheting Creative_writing Drawing Fantasy_Football Fishkeeping Home_automation Home_Movies Jewelry Knapping Lapidary_club Locksport Musical_Instruments Painting RC_cars Scrapbooking Sculpting Sewing Singing Writing Air_sports Boardsport Backpacking Bonsai Canoeing Cycling Driving Freerunning Jogging Kayaking Motor_sports Mountain_biking Machining Parkour Rock_climbing Running Sailing Sand_castle Sculling Rowing_(sport) Human_swimming Tai_Chi Vehicle_restoration Water_sports Antiques Coin_collecting Element_collecting Stamp_collecting Vintage_car Vintage_clothing Record_Collecting Antiquities Car_audio Fossil_collecting Insect_collecting Leaf Metal_detectorist Mineral_collecting Petal Rock_(geology) Seaglass Seashell Boxing Combination_puzzle Contract_Bridge Cue_sports Darts Table_football Team_Handball Airsoft American_football Association_football Auto_racing Badminton Climbing Cricket Disc_golf Figure_skating Footbag Kart_racing Plank_(exercise) Racquetball Rugby_league Table_tennis Microscopy Reading_(process) Shortwave_listening Videophile Aircraft_spotting Amateur_geology Birdwatching Bus_spotting Gongoozler Meteorology Travel Board_game Airbrush Advocacy Acting model_aircraft Pets Aquarium Astrology Astronomy Backgammon Base_Jumping Sun_tanning Beachcombing Beadwork Beatboxing Campanology Belly_dance cycle_Polo Bicycle_motocross Boating Boomerang Volunteering Carpentry Butterfly_Watching Button_Collecting Cake_Decorating Calligraphy Candle Cartoonist Casino Cave_Diving Ceramic Church Cigar_Smoking Cloud_Watching Antique Hat album Gramophone_record trading_card Musical_composition Worldbuilding Cosplay Craft Cross-Stitch Crossword_Puzzle Diecast Digital_Photography Dodgeball Doll Dominoes Dumpster_Diving restaurant education Electronics Embroidery Entertainment physical_exercise Falconry List_of_fastest_production_cars Felt Poi_(performance_art) Floorball Floristry Fly_Tying off-roading ultimate_(sport) Game Garage_sale Ghost_Hunting Glowsticking Gunsmith Gyotaku Handwriting Hang_gliding Herping HomeBrewing Home_Repair Home_Theater Hot_air_ballooning Hula_Hoop Ice_skating Impersonator Internet Invention Jewellery Jigsaw_Puzzle Juggling diary skipping_rope amateur_Chemistry Kite snowkiting knot Laser Lawn_Dart poker Leather_crafting Lego Macramé Model_Car Matchstick_Model Meditation Metal_Detector Rail_transport_modelling Model_Rocket ship_model scale_model Motorcycle Needlepoint Origami Papermaking Papier-mâché Parachuting Paragliding Pinochle Pipe_Smoking Pottery Powerbocking Demonstration_(people) Puppetry Pyrotechnics Quilting pigeon_racing Rafting Railfan Rapping remote_control Relaxation Renaissance_Fair Renting_movies Robotics Rock_Balancing Role-playing sand_art_and_play Scuba_Diving Self-Defense Skeet_Shooting Skiing Shopping choir Skateboarding Sketch_(drawing) SlackLining Sleep Slingshot Slot_Car_Racing Snorkeling Soap Rubik's_Cube caving Family Storm_Chasing Storytelling String_Figure Surf_Fishing Survival_skills Tatting Taxidermy Tea_Tasting Tesla_Coil Tetris Textile stone_Rubbing Antique_tool Toy Treasure_Hunting Trekkie tutoring Urban_Exploration Video_Game Violin Volunteer Walking Weightlifting Windsurfing WineMaking Wrestling Zip-line traveling
error: list.append(", ".join(['"%s"' % row for row in f.read().splitlines()])) TypeError: descriptor 'append' requires a 'list' object but received a 'str' logout
Answer by Brien for Convert list to lower-case
Instead of
for item in list: item.lower()
change the name of the variable list
to l
or whatever you like that isn't a reserved word in Python and use the following line, obviously substituting whatever you name the list for l
.
l = [item.lower() for item in l]
The lower
method returns a copy of the string in all lowercase letters. Once a string has been created, nothing can modify its contents, so you need to create a new string with what you want in it.
Answer by NPE for Convert list to lower-case
Here is how it can be done:
In [6]: l = ['Suzuki music', 'Chinese music', 'Conservatory', 'Blue grass'] In [7]: map(str.lower, l) Out[7]: ['suzuki music', 'chinese music', 'conservatory', 'blue grass']
One of the reasons your code doesn't behave as expected is that item.lower()
doesn't modify the string (in Python, strings are immutable). Instead, it returns the lowercase version of the string, which your code then disregards.
Answer by Jim Dennis for Convert list to lower-case
Easiest might be a list comprehension:
with open('./input.txt', 'r') as f: results = [ line.strip().lower() for line in f if line]
... I'm assuming you're willing to strip all leading and trailing whitespace from each line; though you could use just .rstrip()
or even .rstrip('\n')
to be more specific in that. (One would preserve any whitespace on the left of each line, and the other would strip only the newlines from the ends of the lines.
Also this will filter out any blank lines, including the terminal empty line which is almost always found at the end of a text file. (This code will work even with the rare text file that doesn't end with a newline).
Answer by user1941407 for Convert list to lower-case
You can use method str.lower().
Answer by c0ff3m4kr for Convert list to lower-case
For those who like timing tests
In [1]: %timeit [c.lower() for c in l] 1000000 loops, best of 3: 866 ns per loop In [2]: %timeit map(str.lower, l) 1000000 loops, best of 3: 1.01 ?s per loop In [3]: %timeit map(lambda x:x.lower(), l) 1000000 loops, best of 3: 1.41 ?s per loop
Fatal error: Call to a member function getElementsByTagName() on a non-object in D:\XAMPP INSTALLASTION\xampp\htdocs\endunpratama9i\www-stackoverflow-info-proses.php on line 72
0 comments:
Post a Comment