加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

小姐姐的Python隐藏技巧合集,推特2400赞,代码可以直接跑

发布时间:2019-10-28 19:07:16 所属栏目:建站 来源:栗子
导读:副标题#e# 本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。 常常发资源的英伟达工程师小姐姐Chip Huyen,又发了一套Python隐藏功能合集。 里面都是她从前没发现,或者从前不太敢用的机器学习技巧,有notebook可以直接跑。 合集名叫pyth

想把一个列表解包成一个一个元素,就这样:

  1. 1elems = [1, 2, 3, 4] 
  2. 2a, b, c, d = elems 
  3. 3print(a, b, c, d) 
  4. 5==> 1 2 3 4 

也可以这样:

  1. 1elems = [1, 2, 3, 4] 
  2. 2a, b, c, d = elems 
  3. 3print(a, b, c, d) 
  4. 5==> 1 2 3 4 

2.2、切片 (Slicing)

大家可能知道,如果想把一个列表反过来排,就用 [::-1] 。

  1. 1elems = list(range(10)) 
  2. 2print(elems) 
  3. 4==> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
  4. 6print(elems[::-1]) 
  5. 8==> [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] 

而 [x:y:z] 这种语法的意思是,从索引x到索引y,每z个元素取一个。

如果z是负数,就是反向取了。

如果x不特别指定,就默认是在遍历列表的方向上,遇到的第一个元素。

如果y不特别指定,就默认是列表最后一个元素。

所以,我们要从一个列表里面,每两个取一个的话,就是 [::2] 。

  1. 1evens = elems[::2] 
  2. 2print(evens) 
  3. 4reversed_evens = elems[-2::-2] 
  4. 5print(reversed_evens) 
  5. 7==> [0, 2, 4, 6, 8] 
  6. 8 [8, 6, 4, 2, 0] 

也可以用这种方法,把一个列表里的偶数都删掉,只留奇数:

  1. 1del elems[::2] 
  2. 2print(elems) 
  3. 4==> [1, 3, 5, 7, 9] 

2.3、插入 (Insertion)

把列表里的其中一个元素的值,换成另一个值。

  1. 1elems = list(range(10)) 
  2. 2elems[1] = 10 
  3. 3print(elems) 
  4. 5==> [0, 10, 2, 3, 4, 5, 6, 7, 8, 9] 

如果想把某个索引处的一个元素,替换成多个元素,比如把 1 换成 20, 30, 40 :

  1. 1elems = list(range(10)) 
  2. 2elems[1:2] = [20, 30, 40] 
  3. 3print(elems) 
  4. 5==> [0, 20, 30, 40, 2, 3, 4, 5, 6, 7, 8, 9] 

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读