Python(网易云课堂21-25章)

这篇博客介绍了Python编程中关于字典的各种操作,包括构建字典、遍历键值、列表推导式以及用户输入的处理。重点讲解了如何利用zip迭代器进行列表和字典的转换,并探讨了split()函数的不同用法。
摘要由CSDN通过智能技术生成

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效果一样,不会多切

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值