In the last post we made a test with the capitals. Now I want to do a test were you have to find the capitals among the city of the same state. But I need the data and I don't want to write them all manually, so I found this data on the net, but I need to put them in a dictonary in order to use them. Let's solve this.
We have a text file like this (city.txt):
pSitka;Alaska
Juneau;Alaska
Wrangell;Alaska
Anchorage;Alaska
Jacksonville;Florida
Anaconda;Montana
Butte;Montana
Oklahoma City;Oklahoma
Houston;Texas
Phoenix;Arizona
Nashville;Tennessee
Los Angeles;California
San Antonio;Texas
Suffolk;Virginia
Buckeye;Arizona
Indianapolis;Indiana
Chesapeake;Virginia
Dallas;Texas
Fort Worth;Texas
Louisville;Kentucky
San Diego;California
Memphis;Tennessee
Kansas City;Missouri
New York City;New York
Augusta;Georgia
Austin;Texas
Charlotte;North Carolina
Lexington;Kentucky
El Paso;Texas
Macon;Georgia
Virginia Beach;Virginia
Cusseta;Georgia
Chicago;Illinois
Tucson;Arizona
Columbus;Ohio
Columbus;Georgia
Valdez;Alaska
Preston;Georgia
Huntsville;Alabama
Boulder City;Nevada
California City;California
Tulsa;Oklahoma
Colorado Springs;Colorado
Goodyear;Arizona
Albuquerque;New Mexico
Scottsdale;Arizona
Hibbing;Minnesota
Norman;Oklahoma
San Jose;California
Peoria;Arizona
New Orleans;Louisiana
Corpus Christi;Texas
Montgomery;Alabama
Wichita;Kansas
Aurora;Colorado
Denver;Colorado
Sierra Vista;Arizona
Georgetown;Georgia
Birmingham;Alabama
Fayetteville;North Carolina
Carson City;Nevada
Raleigh;North Carolina
Bakersfield;California
Mobile;Alabama
Detroit;Michigan
Bunnell;Florida
Mesa;Arizona
Las Vegas;Nevada
Chattanooga;Tennessee
Philadelphia;Pennsylvania
Portland;Oregon
Atlanta;Georgia
Winston-Salem;North Carolina
Brownsville;Texas
Columbia;South Carolina
Lynchburg;Tennessee
Marana;Arizona
Yuma;Arizona
Athens;Georgia
Little Rock;Arkansas
Omaha;Nebraska
Lubbock;Texas
Tampa;Florida
Eloy;Arizona
Unalaska;Alaska
Orlando;Florida
Salt Lake City;Utah
Henderson;Nevada
Surprise;Arizona
Babbitt;Minnesota
Cape Coral;Florida
Abilene;Texas
Palmdale;California
Jackson;Mississippi
Greensboro;North Carolina
Fresno;California
Shreveport;Louisiana
North Las Vegas;Nevada
St. Marys;Pennsylvania
Sacramento;California
Charleston;South Carolina
Nightmute;Alaska
Plymouth;Massachusetts
Milwaukee;Wisconsin
Arlington;Texas
Tallahassee;Florida
Clarksville;Tennessee
Durham;North Carolina
Palm Springs;California
Lancaster;California
Knoxville;Tennessee
Laredo;Texas
Amarillo;Texas
Dothan;Alabama
Oak Ridge;Tennessee
Edmond;Oklahoma
Beaumont;Texas
Waco;Texas
Seattle;Washington
Port Arthur;Texas
Baltimore;Maryland
Toledo;Ohio
Kansas City;Kansas
El Reno;Oklahoma
Jonesboro;Arkansas
Ellsworth;Maine
Caribou;Maine
Fort Wayne;Indiana
Independence;Missouri
Riverside;California
Cincinnati;Ohio
Las Cruces;New Mexico
Cleveland;Ohio
Baton Rouge;Louisiana
Fremont;California
Presque Isle;Maine
Des Moines;Iowa
Port St. Lucie;Florida
Lawton;Oklahoma
Rome;New York
North Port;Florida
Savannah;Georgia
Lincoln;Nebraska
Enid;Oklahoma
Rio Rancho;New Mexico
Apple Valley;California
Springfield;Missouri
Victorville;California
Plano;Texas
Grand Prairie;Texas
Wichita Falls;Texas
Where we have cities on left and states on right.
We want to create a dictonary, were we have states as key and all the city belonging to this states as values separated by comma.
Let's go for code:
1. CAPTURE DATA
with open("city.txt") as file: city = file.readlines()
2. ERASE THE \n AT THE END OF THE LINES
for c in city: city[city.index(c)] = c.replace("\n","")
3. CREATE THE DICTONARY WITH THE KEYS (STATES)
cityd = {} for c in city: c = c.split(";") cityd[c[1]] = ""
4. ADD THE CITIES AS VALUES
for c in city: c = c.split(";") cityd[c[1]] += c[0] +","
5. SHOW RESULTS
for c in cityd: print(c,"\n",cityd[c],"\n")
THE CODE TOGETHER AND
THE
OUTPUT
with open("city.txt") as file:
city = file.readlines()
for c in city:
city[city.index(c)] = c.replace("\n","")
cityd = {}
for c in city:
c = c.split(";")
cityd[c[1]] = ""
for c in city:
c = c.split(";")
cityd[c[1]] += c[0] +","
for c in cityd:
print(c,"\n",cityd[c],"\n")
Comments
Post a Comment