当前位置: 首页 > news >正文

唐山做网站的公司/外贸网站免费建站

唐山做网站的公司,外贸网站免费建站,12348法律咨询律师在线,网站建设报价书作者 | Peter Nistrup翻译 | 周萝卜出品 | 萝卜大杂烩(ID:luobodazahui)当下,Python 比以往的任何时候都更加流行,人们每天都在实践着 Python 是多么的强大且易用。我从事 Python 编程已经有几年时间了,但是最近6个月才…
640?wx_fmt=jpeg

作者 | Peter Nistrup
翻译 | 周萝卜
出品 | 萝卜大杂烩(ID:luobodazahui)
当下,Python 比以往的任何时候都更加流行,人们每天都在实践着 Python 是多么的强大且易用。
我从事 Python 编程已经有几年时间了,但是最近6个月才是全职的。下面列举的这些事情,是我最开始使用 Python 的时候,就希望清楚的:
  • 字符串操作

  • 列表推导

  • Lambda 和 Map 函数

  • 在一行里使用 if elif 和 else 条件判断

  • zip() 函数

字符串操作
Python 非常擅长使用类似数学运算符 + 和 * 来操作字符串
>>> my_string = "Hi Medium..!"
>>> print(my_string * 2)
Hi Medium..!Hi Medium..!
>>> print(my_string + " I love Python" * 2)
Hi Medium..! I love Python I love Python
我们也可以非常方便的对字符串做取反操作,只需要使用 [::-1] 就可以,同时该操作还不仅仅局限于字符串操作。
>>> print(my_string[::-1])
!..muideM iH
>>> my_list = [1,2,3,4,5]
>>> print(my_list[::-1])
[54321]
那么对于包含多个字符串的列表呢,我们甚至可以做一个 Yoda-translator !
>>> word_list = ["awesome""is""this"]
>>> print(' '.join(word_list[::-1]) + '!')
this is awesome!
在上面的代码中,我们使用了 .join() 方法,用空格把反转列表里的元素拼接了起来,并且增加了感叹号。
列表推导
哦,天啊!一旦我知道了这些,我的整个世界都改变了(可能还没有真实发生,但是已经接近了)。这是以中国强大的、直观的且可读的方法来快速的操作列表。
假如我们有这样一个函数,取一个数的平方再增加5
>>def stupid_func(x):
>>>     return x**2 + 5
现在如果我们要把该函数应用到一个列表的所有奇数当中,如果不了解列表推导式,你可能会这么写
>>> my_list = [12345]
>>> new_list = []
>>> for x in my_list:
>>>     if x % 2 != 0:
>>>         new_list.append(stupid_func(x))
>>> print(new_list)
[61430]
但是我们还有更简单的方法!
>>> my_list = [1, 2, 3, 4, 5]
>>> print([stupid_func(x) for x in my_list if x % 2 != 0])
[6, 14, 30]
列表推导适用于 [ expression for item in list ] 条件,同时如果那你想要应用一些布尔条件,例如上面获取奇数的条件:[ expression for item in list if conditional ],那么它和下面的写法是一致的
>>> for item in list:
>>>     if conditional:
>>>         expression
很酷,不过我们还可以做的更好,因为我们根本不需要函数“stupid_func”
>>> print([x ** 2 + 5 for x in my_list if x % 2 != 0])
[6, 14, 30]
Lambda 和 Map
Lambda
Lambda 有一点奇怪,但是就像我介绍的其他内容一样,只要你去使用它,就会发现它是多么的强大和直观。
Lambda 其实就是一个小的匿名函数。为什么要匿名呢?这是因为 Lambda 常常用来执行小型简单的操作,而这些操作往往不需要使用 def my_function() 来定义正式的函数
我们还是以上面的例子为例,对一个数进行平方并加5。在上面的代码中我们定义了一个函数 def stupid_func(x),现在让我们使用 Lambda 来重新创建它
>>> stupid_func = (lambda x : x ** 2 + 5)
>>> print([stupid_func(1), stupid_func(3), stupid_func(5)])
[61430]
那么,为什么要使用这种奇怪的语法呢?其实这种写法的用处就体现在,我们不要定义实际的功能,就可以实现一些简单的操作。我们继续以数字列表为例,如果我们想对下面的列表进行排序,一种方法是使用 sorted()
>>> my_list = [210, -1, -2]
>>> print(sorted(my_list))
[-2, -1012]
这样确实可以了,但是,如果我们想按照元素平方数的大小来排序,使用 Lambda 就非常方便了。可以使用 Lambda 来定义 sorted() 函数用于排序的 key
>>> print(sorted(my_list, key = lambda x : x ** 2))
[0-11-22]
Map
Map 是一个用来将函数应用到序列的每个元素上,比如列表。假设我们必须要列出两个列表对应位置元素的乘积,那么该怎么做呢,可以使用 Lambda 和 Map
>>> print(list(map(lambda xy : x * y[1, 2, 3][4, 5, 6])))
[4, 10, 18]
和下面的代码相比,Lambda 与 Map 的组合实在是太优雅了
>>> x, y = [123], [456]
>>> z = []
>>> for i in range(len(x)):
>>>     z.append(x[i] * y[i])
>>> print(z)
[41018]
在一行里使用 if elif 和 else 条件判断
有时,你可能会写出如下的代码
>>> x = int(input())
>>> if x >= 10:
>>>     print("Horse")
>>> elif 1 < x < 10:
>>>     print("Duck")
>>> else:
>>>     print("Baguette")
运行此命令时,系统会提示你从 input() 函数输入内容,假设我们输入5,我们将得到 Duck。但是我们也可以像下面这样写
print("Horse" if x >= 10 else "Duck" if 1 < x < 10 else "Baguette")
这实在是太简单了!快去阅读你的旧代码,你会发现有太多的地方可以将这种简单的 if else 判断替换成这种单行判断。
zip()
还记得在 Map 函数部分,我们并行处理两个列表的例子嘛,使用 zip() 会更加简单
假如我们有两个列表,一个包含名字,一个包含姓氏,怎样才能很好的合并它们呢,使用 zip()!
>>> first_names = ["Peter""Christian""Klaus"]
>>> last_names = ["Jensen""Smith""Nistrup"]
>>> print([' '.join(x) for x in zip(first_names, last_names)])
['Peter Jensen''Christian Smith''Klaus Nistrup']
哇哦,有个地方错了,我的名字不叫 Peter Jensen,那么就可以调整如下
>>> print([' '.join(x) for x in zip(first_names, last_names[::-1])])
['Peter Nistrup''Christian Smith''Klaus Jensen']
结束语
我这里只是汇总了一个简单的清单,目的就是为了让你能够了解到 Python 可以优雅的做很多事情。如果你有任何不同的想法,可以留言哦!
来源:
https://towardsdatascience.com/python-tricks-101-what-every-new-programmer-should-know-c512a9787022
(本文由Python大本营转载,转载请联系原作者)


精彩推荐


2019 中国大数据技术大会(BDTC)历经十一载,再度火热来袭!
10月1日--10月7日,购买早鸟票,即可获得「CSDN·二十周年」纪念T恤一件,大会活动现场-签到处领取~

640?wx_fmt=jpeg推荐阅读


  • 5大必知的图算法,附Python代码实现

  • 如何用爬虫技术帮助孩子秒到心仪的幼儿园(基础篇)



640?wx_fmt=png
你点的每个“在看”,我都认真当成了喜欢
http://www.lbrq.cn/news/805231.html

相关文章:

  • 030159网站建设与维护/百度在线使用
  • 启蒙自助建站/电商卖货平台有哪些
  • 关于政府网站的建设的意见/百度关键词排名突然消失了
  • 做网站美工排版/直通车优化推广
  • 梧州论坛红豆思辨/网站优化课程培训
  • 移动互联网开发报告总结/入门seo技术教程
  • 首次做淘宝客网站要安装程序吗/长清区seo网络优化软件
  • 世界经理人网站手机版/上海app网络推广公司
  • 上海金融网站建设公司/个人接外包项目平台
  • 陕西网站建设设计公司/百度搜索排行
  • 那些做测评的网站好/google海外版
  • 网站子域名怎么做/数字化营销怎么做
  • 做网站 怎么做留言/百度指数分析报告
  • 怀化seo推广/优化关键词推广
  • 干事儿网网站开发/seo网站推广公司
  • 网站页面设计需求文档/网络营销策划模板
  • 深圳市宝安区龙华公司是干什么的/合肥seo软件
  • 产品推广方案要包含哪些内容/seo就业指导
  • 查找南宁网站开发公司/北京网站外包
  • 网站开发大作业/郑州网站优化推广
  • 宁波网站建设网站/搜狗搜索引擎优化指南
  • 怎样找到免费的黄页网站/seo软件
  • 网站建设寻求/b2b平台是什么意思啊
  • 网站怎么收录/门户网站
  • 内容类网站如何 流量/整合营销策略
  • 磐安住房和城乡建设部网站/百度新闻网
  • 知名商城网站建设公司/免费b2b平台推广
  • 长春哪家做网站做的好/外链是什么意思
  • 广东省网站建设网站/免费产品推广网站
  • 中国空间站的意义/网址怎么弄
  • 8.1IO进程线程——文件IO函数
  • 2025 腾讯广告算法大赛 Baseline 项目解析
  • SH3001六轴传感器应用(二)(IIC驱动开发)
  • 多云场景实战:华为手机 QR 码绑定与 AWS云服务器终端登录全解
  • 33.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--单体转微服务--财务服务--记账
  • Linux Flathub软件管理方法 使用指南