疯狂python day03

字符串的使用

def main():
    str1 = 'hello, world!'
    # 通过len函数计算字符串的长度
    print(len(str1))  # 13
    # 获得字符串首字母大写的拷贝
    print(str1.capitalize())  # Hello, world!
    # 获得字符串变大写后的拷贝
    print(str1.upper())  # HELLO, WORLD!
    # 检查字符串是否以指定的字符串开头
    print(str1.startswith('He'))  # False
    print(str1.startswith('hel'))  # True
    # 检查字符串是否由数字构成
    print(str2.isdigit())  # False
    # 检查字符串是否以字母构成
    print(str2.isalpha())  # False
    # 检查字符串是否以数字和字母构成
    print(str2.isalnum())  # True
    str3 = '  jackfrued@126.com '
    print(str3)
    # 获得字符串修剪左右两侧空格的拷贝
    print(str3.strip())
    print(str3.lstrip())
    print(str3.rstrip())

默认值放到最后

def jack(name2,name = 'rose'):
	print('%s 你真好'%name)
	print(name2)
jack(name = 'jack',name2 = 'haha')

判断返回是否是数字
在这里插入图片描述
不定长参数

在参数名前面的*表示args是一个可变参数
即在调用add函数时可以传入0个或多个参数

def add(*args):
    total = 0
    for val in args:
        total += val
    return total
print(add())
print(add(1))
print(add(1, 2))

在这里插入图片描述
在这里插入图片描述
调用在这里插入图片描述
导出所有用*
删除空格
在这里插入图片描述
列表之间只能向相加相乘
对列表的排序

list1 = ['orange', 'apple', 'zoo', 'internationalization', 'blueberry']
    # 默认排序是升序
    list2 = sorted(list1)
    # sorted函数返回列表排序后的拷贝不会修改传入的列表
    # 函数的设计就应该像sorted函数一样尽可能不产生副作用
    list3 = sorted(list1, reverse=True)
    # 通过key关键字参数指定根据字符串长度进行排序而不是默认的字母表顺序
    list4 = sorted(list1, key=len)
    print(list1)
    print(list2)
    print(list3)
    print(list4)
    # 给列表对象发出排序消息直接在列表对象上进行排序
    list1.sort(reverse=True)
    print(list1)

去重
两种方法
在这里插入图片描述
列表生成器
生成器需要再读取
请注意下面的代码创建的不是一个列表而是一个生成器对象
通过生成器可以获取到数据但它不占用额外的空间存储数据
每次需要数据的时候就通过内部的运算得到数据(需要花费额外的时间)
用列表的生成表达式语法创建列表容器
用这种语法创建列表之后元素已经准备就绪所以需要耗费较多的内存空间
相比生成式生成器不占用存储数据的空间
在这里插入图片描述

元组
1.元组中的元素是无法修改的
2. 元组在创建时间和占用的空间上面都优于列表
字典
1.字典是另一种可变容器模型,字典的每个元素都是由一个键和一个值组成的“键值对”,键和值通过冒号分开
2.字典是无序的,没有索引操作,除非转换成有序字典

def main():
    scores = {'骆昊': 95, '白元芳': 78, '狄仁杰': 82}
    print(scores['骆昊'])
    print(scores['狄仁杰'])
    for elem in scores:
        print('%s\t--->\t%d' % (elem, scores[elem]))
    scores['白元芳'] = 65
    scores['诸葛王朗'] = 71
    scores.update(冷面=67, 方启鹤=85)
    print(scores)
    if '武则天' in scores:
        print(scores['武则天'])
    print(scores.get('武则天'))
    print(scores.get('武则天', 60))
    print(scores.popitem())
    print(scores.popitem())
    print(scores.pop('骆昊', 100))
    scores.clear()
    print(scores)
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

bsxjy

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值