Python编程:从入门到实践2

来源:互联网 发布:怎么做 数据质量管控 编辑:程序博客网 时间:2024/06/04 23:56
第 6 章 字典
一、一个简单的字典
在Python中,“字典” 是一系列键—值对 。每个键 都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对象用作字典中的值
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。
alien = {'color': 'green', 'points': 5}

二、使用字典
1、访问字典中的值
print(alien['color']) # greenprint(alien['points']) # 5
2、添加键—值对
alien= {'color': 'green', 'points': 5}alien['age'] = 6 alien['sex'] = "male"print(alien)  # {'color': 'green', 'points': 5, 'age': 6, 'sex': 'male'}
Python不关心键—值对的添加顺序,而只关心键和值之间的关联关系
3、先创建一个空字典
person  =  {}person["name"] = "alice"person["age"] = 20print(person)  # {'name': 'alice', 'age': 20}
4、修改字典中的值
person  =  {'name': 'alice', 'age': 20}person["name"] = "messi"person["age"] = 29print(person) # {'name': 'messi', 'age': 29}
5、删除键—值对
person  =  {'name': 'alice', 'age': 20}del person["name"]print(person)  # {'age': 20}
删除整个字典
person  =  {'name': 'alice', 'age': 20}person.clear()print(person) # {} 不会报错,清空字典del dictprint(person) # 报错 删除字典

三、遍历字典
1、遍历所有的键—值对(.items())
person  =  {    'name': 'alice',    'age': 20,    'language':'python'    }for key,value in person.items():    print("\nkey:"+key);    print("value:"+ str(value));

2、遍历字典中的所有键(.keys())
person  =  {    'name': 'alice',    'age': 20,    'language':'python'    }for key in person.keys():    print("key:"+key);
3、按顺序遍历字典中的所有键 (sorted())
person  =  {    'name': 'alice',    'age': 20,    'language':'python'    }for key in sorted(person.keys()):    print("key:"+key);

4、遍历字典中的所有值(.values())
person  =  {    'name': 'alice',    'age': 20,    'language':'python'    }for value in person.values():    print("value:"+ str(value));
这种做法提取字典中所有的值,而没有考虑是否重复。涉及的值很少时,这也许不是问题,但如果被调查者很多,最终的列表可能包含大量的重复项。为剔除重复项,可使用集合(set)。集合 类似于列表,但每个元素都必须是独一无二的:
person  =  {    'name': 'alice',    'age': 20,    'language1':'python',    'language2':'python'    }for value in set(person.values()):    print("value:"+ str(value));

四、嵌套
1、字典列表
alien_0 = {'color': 'green', 'points': 5}alien_1 = {'color': 'yellow', 'points': 10}alien_2 = {'color': 'red', 'points': 15}aliens = [alien_0, alien_1, alien_2]  # 列表for alien in aliens:print(alien)  #{'color': 'green', 'points': 5}   {'color': 'yellow', 'points': 10}   {'color': 'red', 'points': 15}
2、在字典中存储列表
person = {    "name":"leo",    "language":["python","java","javascript"]    }print(person["language"][0]) # pythonfor lang in person["language"]:    print(lang); # python java javascript
3、在字典中存储字典
users = {    'aeinstein': {        'first': 'albert',        'last': 'einstein',        'location': 'princeton',        },    'mcurie': {        'first': 'marie',        'last': 'curie',        'location': 'paris',        },    }

第 7 章 用户输入和while 循环
一、用户输入
1、函数input() 的工作原理
函数input() 让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便使用
message = input("please input your name: ")  # leoprint(message) # leo
2、使用int() 来获取数值输入
age = input("How old are you? ") # "20" 字符串age = int(age) # 20 整数print(age) # 20 整数
3、求模运算符
 5 % 3  # 2 6 % 3  # 0
可利用这一点来判断一个数是奇数还是偶数
number % 2 == 0:
二、while循环
1、使用while 循环
current_number = 1while current_number <= 5:     print(current_number)     current_number += 1    # 1-5
2、使用标志
current_number = 1active = True while (current_number <= 5 and active):     print(current_number)     if(3 == current_number):         active=False;     else:         current_number+=1  #1,2,3
3、使用break 退出循环(执行break 语句,导致Python退出循环)
current_number = 1while current_number <= 5:     print(current_number)     if(3 == current_number):         break;     else:         current_number+=1     # 1,2,3
4、在循环中使用continue
current_number = 0while current_number < 10:    current_number += 1    if current_number % 2 == 0:        continue    print(current_number) # 1,3,5,7,9
5、while-else
count = 0while count < 5:   print (count, "小于 5")   count = count + 1else:   print (count, "大于或等于 5")

三、使用while 循环来处理列表和字典
1、删除包含特定值的所有列表元素
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']while 'cat' in pets:    pets.remove('cat') #删除所有“cat”












阅读全文
0 0