字符串(I)

字符串(I)

python小甲鱼第27讲

课堂笔记

  46种字符串操作方法。
一、大小写字母转换
二、左中右对齐

x = "12321"
"是回文数" if x == x[::-1] else "不是回文数"
'是回文数'
x = "12345"
"是回文数" if x == x[::-1] else "不是回文数"
'不是回文数'
x = "I love FishC"
x.capitlize()
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    x.capitlize()
AttributeError: 'str' object has no attribute 'capitlize'. Did you mean: 'capitalize'?
x.capitalize()
'I love fishc'
x.casefold()
'i love fishc'
x.title()
'I Love Fishc'
x.swapcase()
'i LOVE fISHc'
x.upper()
'I LOVE FISHC'
x.lower()
'i love fishc'
x = "有内鬼,停止交易"
x.center(5)
'有内鬼,停止交易'
x.center(15)
'    有内鬼,停止交易   '
x.ljust(15)
'有内鬼,停止交易       '
x.rjust(15)
'       有内鬼,停止交易'
x.zfill(15)
'0000000有内鬼,停止交易'
"520".zfill(5)
'00520'
"-520".zfill(5)
'-0520'
x.center(15,"烫")
'烫烫烫烫有内鬼,停止交易烫烫烫'
x.ljust(15,"烫")
'有内鬼,停止交易烫烫烫烫烫烫烫'
x.rjust(15,"烫")
'烫烫烫烫烫烫烫有内鬼,停止交易'

课后作业

0. casefold() lower() 两个方法都是将所有的字母变成小写,那它们有什么区别呢?
  根据官方文档的提示,lower() 只能处理英文字母,而 casefold() 除了英语外,还可以处理更多其他语言的字符,比如德语……

1. 请问下面代码执行的结果是?

>>> "-520".zfill(10)

  '-000000520'
  zfill 的意思就是 zero fill,用 “0” 填充哈。

2. 请问 "-520".zfill(10)"-520".rjust(10, "0") 的执行结果一样吗?
  不一样。zfill() 要 “高级” 一些,它会自动识别负号。

>>> "-520".zfill(10)
'-000000520'
>>> "-520".rjust(10, "0")
'000000-520'

3. 请问下面代码执行的结果是?

>>> "-520".center(6, "0").zfill(10)

  '00000-5200'
  虽说 zfill() 方法能够将 “0” 放到负号的右边,不过前提是需要一个正经的数。这里先经过 "-520".center(6, "0") 加工,所以是 '0-5200'.zfill(10),这里的 '0-5200' 显然并不是一个正经的数字……

4. 请问下面代码执行的结果是?

>>> "I love FishC".swapcase()[::-1]

  从左到右先执行 swapcase() 方法,得到的结果是 'i LOVE fISHc',然后再执行一次反向切片操作,所以得到了这么一个结果。

5. 请使用一行代码来检测列表中的每个元素是否为回文数,并返回一个结果为回文数构成的列表。

>>>x = ["123", "33211", "12321", "13531", "112233"]
>>>[each for each in x if each == each[::-1]]
>>>['12321', '13531']

6. 请按照以下规则整理一个给定的字符串 s。
  一个整理好的字符串中,两个相邻字符 s[j] 和 s[j+1],其中 0 <= j <= s.length - 2,要满足如下条件:
  若 s[j] 是小写字符,则 s[j+1] 不可以是相同的大写字符
  若 s[j] 是大写字符,则 s[j+1] 不可以是相同的小写字符
  如果 s[j] 和 s[j+1] 满足以上两个条件,则将它们一并删除

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值