1. 用4种方式构建字典
键值对:‘Name’:‘John’,‘age’:22,‘Height’:177,‘Weight’:74,‘Nation’:‘China’
答:
dict1 = {'Name':'John','age':22,'Height':177,'Weight':74,'Nation':'China'}
dict2 = dict(Name='John',age=22,Height=177,Weight=74,Nation='China')
#传入可迭代对象
dict3 = dict(zip(['Name','age','Height','Weight','Nation'],['John',22,177,74,'China']))
dict4 = dict([('Name','John'),('age',22),('Height',177),('Weight',74),('Nation','China')])
注意字典的键是不可重复的,具有唯一性
2. 将下面这个字典里的键都打印出来,并存储到列表key_list里
dict1 = {'Name':'John','age':22,'Height':177,'Weight':74,'Nation':'China'}
答:
key_list = []
for k in dict1.keys():
print(k)
key_list.append(k)
3. 将下面这个字典里的值都打印出来,并存储到列表v_list里
dict1 = {'Name':'John','age':22,'Height':177,'Weight':74,'Nation':'China'}
答:
v_list = []
for v in dict1.values():
print(v)
v_list.append(v)
4. 将下面这个字典里的键和值都打印出来,并分别存储到列表k_list和v_list里
dict1 = {'Name':'John','age':22,'Height':177,'Weight':74,'Nation':'China'}
答:
k_list = []
v_list = []
for k,v in dict1.items():
print(k,v)
v_list.append(v)
k_list.append(k)
dict.keys() values() items() !!! 记得有括号
配合format使用
5. 让用户输入一些单词,程序将其变成首字母大写,输入q会停止程序,并输出‘退出’
答:
while True:
word = input('请输入一个单词,我会将其变成首字母大写:')
if word == 'q':
print('退出')
break
else:
word = word.capitalize()
print(word)
注意,对一句话进行首字母大写用的是string.capitalize()
方法!!!!
如果相对一句话中里面的每个单词都进行首字母大写,用 string.title()
6.让用户输入一些数字,程序判断是否为奇数,是奇数返回是,不是返回不是,输入q会停止程序,并输出‘退出’,如果输入的是非数字,比如是字符串,程序继续让用户输入。
def is_number(s):
try:
int(s)
return True
except ValueError:
pass
return False
while True:
num = input('请输入一个数字,我会判断其是否是奇数:')
if num == 'q':
print('退出')
break
if is_number(num):
if int(num) % 2 ==0:
print('不是奇数')
else:
print('是奇数')
else:
print('你输入的不是数字,请继续输入')
7. ZIP 迭代器
需要多加个list才能打印出来,zip只是迭代器对象
7.1 如果想轮流打印某个列表里的元素,包含其索引信息,可以用上zip(enumerate更好)
7.2 解开zip
解开zip()的操作 是在里面添加星号*;zip的反向操作
返回的是元组
注意星号*是用来解开zip的!!!!!!!!
7.3 利用zip将两个列表变成字典
8.列表推导式
[x for x in range(7)]
[0, 1, 2, 3, 4, 5, 6] 不包含7
如果要将上判别式
只有if的情况,if放在for循环后面
如果if,else组合在一起,那么判别式要放在for循环之前
9.split()
Split作用是:按照指定的分隔符对字符串进行划分,切成列表。
除了设置分隔符,还能设置切几刀!!!!!!!!!,如下设置切三刀,分裂出4个元素
如果说一个句子实际能被切8刀(根据8八个空格),如果设置成大于8,也是可以的,只不过跟设置成8效果一样,不会多切