《 笨方法学 Python 》_ 习题 38 - 39

习题 38:列表的操作
ten_things = "Apples Oranges Crows Telephone Light Sugar"

print("Wait there's not 10 things in that list, let's fix that.")

stuff = ten_things.split(' ')
more_stuff = ["Day", "Night", "Song", "Frisbee", "Corn", "Banana", "Girl", "Boy"]

while len(stuff) != 10:
    next_one = more_stuff.pop()             # pop() 默认 index = -1,删除最后一个列表值
    print("Adding:", next_one)
    stuff.append(next_one)
    print("There's %d items now." % len(stuff))
    
print("There we go:", stuff)

print("Let's do some things with stuff.")

print(stuff[1])
print(stuff[-1])
print(stuff.pop())                          # pop() 返回从列表中删除的元素                        
print(' '.join(stuff))
print('#'.join(stuff[3:5]))

join() 用于将序列中的元素以指定的字符连接,生成一个新的字符串。


习题 39:字典,可爱的字典
# creat a mapping of state to abbreviation
states = {
            'Oregon': 'OR',
            'Florida': 'FL',
            'California': 'CA',
            'New York': 'NY',
            'Michigan': 'MI'
}

# creat a basic set of states and some cities in them
cities = {
            'CA': 'San Francisco',
            'MI': 'Detroit',
            'FL': 'Jacksonville'
}

# add some more cities
cities['NY'] = 'New York'
cities['OR'] = 'Portland'

# print out some cities
print('-' * 10)
print("NY State has:", cities['NY'])
print("OR State has:", cities['OR'])

# print some states
print('-' * 10)
print("Michigan's abbreviation is:", states['Michigan'])
print("Florida's abbreviation is:", states['Florida'])

# do it by using the states then cities dict
print('-' * 10)
print("Michigan has:", cities[states['Michigan']])
print("Florida has:", cities[states['Florida']])

# print every state abbreviation
print('-' * 10)
for state, abbrev in states.items():
    print("%s is abbreviated %s" % (state, abbrev))
    
# print every city in state
print('-' * 10)
for abbrev, city in cities.items():
    print("%s has the city %s" % (abbrev, city))
    
# now do both at the same time
print('-' * 10)
for state, abbrev in states.items():
    print("%s state is abbrevitated %s and has city %s" % (state, abbrev, cities[abbrev]))
    
print('-' * 10)
# safely get a abbreviation by state that might not be there
state = states.get('Texas', None)

if not state:
    print("Sorry, no Texas.")
    
# get a city with a default value
city = cities.get('TX', 'Does Not Exist')
print("The city for the state 'TX' is: %s" % city)

items()  以列表返回可遍历的(键、值)元组数组。

get() 返回指定键的值,如果值不在字典中返回默认值 None

猜你喜欢

转载自blog.csdn.net/yz19930510/article/details/80557364