Chinaunix首页 | 论坛 | 博客
  • 博客访问: 148951
  • 博文数量: 51
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 255
  • 用 户 组: 普通用户
  • 注册时间: 2020-12-30 16:49
文章分类
文章存档

2021年(48)

2020年(3)

我的朋友

分类: Python/Ruby

2021-01-05 15:33:49

#### 一行累加求和


一行代码求和100以内的整数,利用sum和range函数轻松实现,需要注意的是range(1,101)返回的是1-100之间的整数,不包括101,遵循左闭右开的原则。


![image.png](https://upload-images.jianshu.io/upload_images/25205170-0cbc99ff00bb06d2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


>本期推送整理了初学者可能会用到的Python资料,含有书籍/视频/在线文档和编辑器/源
代码,关于`Python`的安装qun:850973621


#### 列表去重


一行代码,先利用集合的属性(无序不重复),将列表转换成集合,再利用list函数将集合转换成列表,完成列表去重。


![image.png](https://upload-images.jianshu.io/upload_images/25205170-b018cfeffa851f75.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


#### 列表推导式


列表推导能非常简洁的构造一个新列表,只用一条简洁的表达式即可对得到的元素进行转换变形。


[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件];


下图中,提取列中大于10的元素、将列表元素乘以2,一行列表推导式即可搞定,方便快捷!


![image.png](https://upload-images.jianshu.io/upload_images/25205170-bc59699420934721.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)




#### 快速交换数值


列表中交换两个数值,并不需要找个中间变量作为媒介,直接交换赋值即可,如下图所示:


![image.png](https://upload-images.jianshu.io/upload_images/25205170-aebebed261a5946e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)




#### 元素排序


按列表元素字符长度进行排序,sort函数本身对列表进行排序,通过关键字key=len(长度)进行排序,此方法修改了列表本身。
![image.png](https://upload-images.jianshu.io/upload_images/25205170-dc585c852739bbbf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)






#### 字符次数统计


统计某字符串中某字符出现的次数,直接用count函数计数即可,区分大小写!


![image.png](https://upload-images.jianshu.io/upload_images/25205170-bc37ed303f44e134.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)




#### 两种方法除去空格


第一种方法replace很容易理解,直接替换即可。


第二种方法先利用split函数通过空白将字符串分解,`str.split(" ")`返回一个列表:


`['i', 'am', 'hero', 'ha', 'ha', '!']` ,再利用join函数,将列表各元素组合在一起。


![image.png](https://upload-images.jianshu.io/upload_images/25205170-9d698afaffad47f6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)




#### 正则匹配中文


`“[\\u4e00-\\u9fa5]+”` 匹配中文。


![image.png](https://upload-images.jianshu.io/upload_images/25205170-507a54b98f58798a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)




#### 一行将列表元素翻倍


下图中,通过map函数与lambda函数,将列表的每个元素乘以2,短短一行代码,是不是有简洁?map函数会根据提供的函数对指定的序列做映射,返回迭代器,再利用list函数,返回列表。


![image.png](https://upload-images.jianshu.io/upload_images/25205170-7214c35c3fc393d0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)




#### 一行代码输出乘法表格


在代码框中输入:`"print('\n'.join(' '.join('%s*%s=%-2s'%(y,x,x*y) for y in range(1,x+1)) for x in range(1,10)))"`


![image.png](https://upload-images.jianshu.io/upload_images/25205170-011f1be434a3f924.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

















阅读(1068) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~