python复杂吗_一个复杂的Python例外

我认为从内而外解释比较容易stmt = stmt[:i] + mix[i] + stmt[i + 1:]stmt[:i]是字符串的开始,直到但不包括偏移量i(因此字符串的头部不会改变)

mix[i]是另一个字符串中偏移量i的字符

stmt[i+1:]是字符串的其余部分,从i之后的偏移量到结尾(因此字符串的尾部不会改变)

所以总的来说,这意味着“创建一个新字符串,与旧字符串相同,但是在偏移量i处替换mix中的相应字符”。在

那么我们这样做是为了抵消什么呢?在

它被称为循环

^{pr2}$

范围(a,b,c)生成一系列数字:a,a+c,a+2c,a+3c。。。a+Nc<b

Python字符串的索引从0开始-第一个字符是stmt[0]-len(string)是字符串中的字符数,因此最后一个字符是stmt[len(stmt)-1]。所以这个循环给i的值是(0,2,4,6…),但不包括第一个太高的索引。实际上,循环说“交换第一个字符、第三个字符和第五个字符。。。尽可能多的字符而不离开字符串的末尾”。在

更直接的写作方式是stmt = "Iomrscr yn wore"

mix = "C'r eotrA,snep!"

print ''.join(d[i%2] for i,d in enumerate(zip(mix,stmt)))

它说“将mix和stmt中的字符配对,索引它们,当索引为偶数时从mix中提取一个字母,当索引为奇数时从stmt中提取一个字母;然后将所有字符重新连接到一个字符串中并打印它”。在

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值