[问题] 目前有一字符串s = "['a', 'b'],['c', 'd']",想把它分开成为两个列表: list1 = ['a', 'b'] list2 = ['c', 'd'] 之后使用itertools.product()求笛卡尔积,应该写成: for i in itertools.product(list1, list2): print i 结果为: ('a', 'c') ('a', 'd') ('b', 'c') ('b', 'd') 然而使用eval(s)获得的是一个元组.…
leetcode上做提示时候看到有高人用这个方法解题 [问题] 目前有一字符串s = "['a', 'b'],['c', 'd']",想把它分开成为两个列表: list1 = ['a', 'b'] list2 = ['c', 'd'] 之后使用itertools.product()求笛卡尔积,应该写成: 1 for i in itertools.product(list1, list2): 2 print i 结果为: ('a', 'c') ('a', 'd') ('b', 'c')…
可变对象和不可变对象 在python中一切皆对象.在Python中不存在所谓的值传递调用,一切传递都是对象的引用,也可认为是传址. python中,对象分为可变(mutable)和不可变(immutable)两种类型,元组(tuple).数值型(number).字符串(string)均为不可变对象,而字典型(dictionary)和列表型(list)的对象是可变对象. 不可变对象 见一个例子,分析不可变对象的特点 python内置id()函数,用于返回对象的唯一标识(identity).id()…
今天小编和大家分享如何借助Python脚本轻松构建cytoscape导入文件.Cytoscape是一个非常适合展示各种相互作用关系的可视化软件. 具体来说就是可以用于蛋白互作网络的展示,miRNA与蛋白质或者TF与RNA的相互作用等内容的可视化,是一个生信分析不可或缺的神器.但是当要处理的数据比较多,并且需要根据Cytoscape要求整理数据的时候,会不会整理到眼花?不知道你们会不会,反正小编每次都整理得想吐血~~~ 更多Python视频.源码.资料加群960410445免费获取 上一次的利用C…
python小技巧 小知识 python系统变量(修改调用shell命令路径)或用户空间说明 20150418 python调用系统命令,报找不到.怎么办? 类似执行shell的: [ -f /etc/init.d/functions ] && . /etc/init.d/functions || . /lib/lsb/init-functions export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/…
python基础之打/解包及运算符与控制流程 python中的解压缩(即序列类型的打包和解包) python提供了两个设计元祖和其他序列类型的处理的便利,也就是自动打包与自动解包功能,比如: data = 2,3,6,9 会使标识符data赋值成元祖(2,3,6,9),这种行为称为元祖的自动打包.在python中另一种常用的打包是从一个函数中返回多个值,如: return x,y 就会返回单个对象,也就是元祖(x,y). 作为一个对偶的打包行为,python也可以自动解包一个序列,允许单个标识符…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在这里列举一些我使用Python时积累的小技巧.这些技巧是我在使用Python过程中经常使用的.之前很零碎的记在笔记本中,现在整理出来,和大家分享,也作为Python快速教程的一个补充. import模块 在Python经常使用import声明,以使用其他模块(也就是其它.py文件)中定义的对象. 1) 使用__name__ 当我们编写Python库模块的时候,我们往往运行一些测…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在这里列举一些我使用Python时积累的小技巧.这些技巧是我在使用Python过程中经常使用的.之前很零碎的记在笔记本中,现在整理出来,和大家分享,也作为Python快速教程的一个补充. import模块 在Python经常使用import声明,以使用其他模块(也就是其它.py文件)中定义的对象. 1) 使用__name__ 当我们编写Python库模块的时候,我们往往运行一些测…
今天在看python算法的时候,看到一篇关于python的小技巧.瞬间萌比了,原来python也可以这样玩,太神奇了.萌比的是原来这么简单的东西自己都不知道,虽然会写.废话不多说了,开始上菜. 1.拆箱 >>> a,b,c = 1,2,3 >>> a,b,c (1, 2, 3) >>> a,b,c = [1,2,3] >>> a,b,c (1, 2, 3) >>> a,b,c = (2 * i + 1 for i i…
  列表推导式 你有一个list: bag = [1, 2, 3, 4, 5] 现在你想让所有元素翻倍,让它看起来是这个样子: [2, 4, 6, 8, 10] 大多初学者,根据之前语言的经验会大概这样来做 bag = [1, 2, 3, 4, 5] for i in range(len(bag)): bag[i] = bag[i] * 2 但是有更好的方法: bag = [elem * 2 for elem in bag] 很简洁对不对?这叫做Python的列表推导式 . 遍历列表 还是上面的…
需求: 很多时候手上已经有了一个具有n个元素的列表或者元组,你打算把这些元素单独取出来(解包)放入n个变量组成的集合(这里的集合和Python自己的set不同)中. 方法: 显然,最好的办法就是直接用赋值语句(=)来做这件事,唯一需要注意的就是,新变量的个数一定要和原列表.元组里面的元素个数相同: In [1]: p = (4, 6, 7)In [2]: x, y, z = pIn [3]: xOut[3]: 4In [4]: yOut[4]: 6In [5]: zOut[5]: 7 In [7…
一.序列解包 序列解包(或可迭代对象解包):解包就是从序列中取出其中的元素的过程,将一个序列(或任何可迭代对象)解包,并将得到的值存储到一系列变量中. 一般情况下要解包的序列包含的元素个数必须与你在等号左边列出的目标个数相同,否则Python将引发异常.但如果要解包序列元素个数与左边变量数不同的情况下,可使用星号运算符(*)来收集多余的值,这样无需确保值和变量的个数相同,还可将带星号的变量放在任何位置.赋值语句的右边可以是任何类型的序列,但带星号的变量最终包含的总是一个列表.在变量和值的个数相同…
不知道你有没有遇到这么一种情况,就是你有时候想要把电脑上的一些东西传输到你的手机或者 Pad ,你要么需要使用数据线连接到电脑,有时候还要装各种驱动才可以进行数据传输,要么需要借助第三方的工具,在局域网上传输,还有就是使用微信的文件传输助手... 不过这些操作都有些局限,比如各种驱动安装不上,第三方的工具突然傻逼,又或者突然断网,这就 wtf 了. 不过,咱这不有 Python 嘛,今天小编来跟你分享一个技巧,使用一个命令就可以把你的电脑变成服务器,这样你的手机就可以直接获取你电脑的文件了. 这…
需求: 前面的文章讲的是使用变量的个数需要和迭代器数据变量的元素个数相同的方法,但更多的时候确实不想根据元素个数n来定义相应多的变量,而是希望用较少的变量( def drop_first_last(grades): def avg(my_list): return sum(my_list) / len(my_list) first, *middle, last = sorted(grades) return avg(middle)12345当然,“星表达式”可以在任何位置,对应的解包元素存入之后…
一.python小工具: 1.内置下载和网站: 进入相应目录:2.x python -m SimpleHTTPServer 3.x python -m http.server 2.字符串转换为JSON [root@mysql-m ~]# echo '{"job":"developer","name":"1mx","sex":"male"}' | python -m json.tool {…
目录 1.参数解包:方法调用中的*表达式和**表达式 2.参数解包:方法定义中的*表达式和**表达式 3.在元组,列表,集合和字典中解包 4.Extended Unpacking:赋值表达式左边的*表达式 1.参数解包:方法调用中的*表达式和**表达式 如果语法*表达式出现在函数调用中,则该表达式必须是可迭代的. 这些可迭代集合的元素被视为附加的位置参数. 对于调用f(x1, x2, *y, x3, x4),如果y等于序列[y1,...,yM],则等效于调用f(x1, x2, y1, ...,…
一.序列解包 序列解包(或可迭代对象解包):解包就是从序列中取出其中的元素的过程,将一个序列(或任何可迭代对象)解包,并将得到的值存储到一系列变量中. 一般情况下要解包的序列包含的元素个数必须与你在等号左边列出的目标个数相同,否则Python将引发异常.但如果要解包序列元素个数与左边变量数不同的情况下,可使用星号运算符(*)来收集多余的值,这样无需确保值和变量的个数相同,还可将带星号的变量放在任何位置.赋值语句的右边可以是任何类型的序列,但带星号的变量最终包含的总是一个列表.在变量和值的个数相同…
收集任意数量的实参 def make_pizza(*toppings): """打印顾客点的所有配料""" print(toppings) make_pizza('pepperoni') make_pizza('mushrooms', 'green peppers', 'extra cheese') 形参名*toppings 中的星号让Python创建一个名为toppings 的空元组,并将收到的所有值都封装到这个元组中.注意,Python将实参…
大家好鸭!我是小熊猫 很多学习Python的朋友在项目实战中会遇到不少功能实现上的问题,有些问题并不是很难的问题,或者已经有了很好的方法来解决.当然,孰能生巧,当我们代码熟练了,自然就能总结一些好用的技巧,不过对于那些还在刚熟悉Python的同学可能并不会那么轻松. 本次给大家推荐一个学习这些技巧的很好的资源"30-seconds-of-python",所有技巧方法只要30秒就能get到,完全可以利用业务时间不断积累.下面赶紧来看一下. https://github.com/30-se…
下面我挑选出的这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助. 1. 字典推导(Dictionary comprehensions)和集合推导(Set comprehensions)   大多数的Python程序员都知道且使用过列表推导(list comprehensions).如果你对list comprehensions概念不是很熟悉——一个list comprehension就是一个更简短.简洁的创建一个list的方法. >>> some_list = […
原文: http://blog.csdn.net/jclass/article/details/6144647 一. 打印并输出到文件 >>> print("aa","bb"," 11 ","ddddd",sep='-',end='ok/t',file=open("c:/test.txt",'w')) >>> print("-" *40)#打印40个&…
现假设有一份机器人配件名单 list[头部,躯干,肢体] 头部这个list又有鼻子眼睛嘴巴这些小零件 肢体这个list有胳膊,肩膀,手.手这个list又有3种手指 所以这个list详细写出是: list=[[1,2,3,4],5,[6,7,[8,9,10]]] #我们type(list)一下完全是list 我们需要解释了这个list,毕竟这样不符合审美,而且对于编程不熟悉的人也不会看啊. 我们是否要写好多for循环print这ist的一个个项? for each_item in list if…
在写Python程序时,将不同功能代码写在不同文件中是一个好习惯,但是对于某些情况.如需要将脚本提供给别人运行使用,如若将程序写在几个文件中,则需要将文件都发给他人.别人就需要管理不同文件,这样对于别人来说会显得杂乱,麻烦.如果将代码都写在一个文件中,对于简单的脚本没啥毛病,但如果复杂了代码量多了,都写在一个文件,则对自己而言不好维护. 如果能将不同文件代码放在一个目录中,直接运行目录,不就能解决了这个问题了吗.Python提供这样的方式:Python能直接执行一个包含 __main__.py的…
计算时间差,时间加减运算代码 最近在学习数据预处理,碰到日期型数据不会处理,上网查了下: Q:如何方便的计算两个时间的差,如两个时间相差几天,几小时等A:使用datetime模块可以很方便的解决这个问题,举例如下: import datetime d1 = datetime.datetime(2009, 3, 23) d2 = datetime.datetime(2009, 10, 7) dayCount = (d1 - d2).days python计算两个时间之间的秒数 import dat…
1.glob模块 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用windows下的文件搜索差不多.查找文件只用到三个匹配符:”*”, “?”, “[]”.”*”匹配0个或多个字符:”?”匹配单个字符: ”[]”匹配指定范围内的字符,如:[0-9]匹配数字. glob.glob 返回所有匹配的文件路径列表.它只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径.下面是使用glob.glob的例子: 例子1: 结果: 例…
有一个这样的问题:现要用 setuptools 把一个项目打包成 whl 文件,然后 pip install 在 Windows/Linux 两种操作系统上,但是该项目中有一些依赖库只有 Windows 上才有(例如 pywinauto.pywingui.pywinrm),那么问题是,如何实现打包文件的可兼容性安装? 从打包的角度,这个问题的关键还是看 setup.py 和 requirements.txt 文件. 关于 Python 的包构建分发和 setup.py 的使用,这里有篇文章 写得…
导读:Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短.本文中带我们回顾了 17 个非常有用的 Python 技巧,例如查找.分割和合并列表等.这 17 个技巧都非常简单,但它们都很常用且能激发不一样的思路. 人生苦短,为什么我要用Python?很多读者都知道 Python 是一种高级编程语言,其设计的核心理念是代码的易读性,以及允许编程者通过若干行代码轻松表达想法创意. 实际上,很多人选择学习 Python 的首要原因是其编程的优美性,用它编码和表达想法非常自然.此外,Py…
本文总结了我几个我在学习python过程中,用到的几个超好用的操作,这里分享给大家,我相信你们也会非常喜欢,目录如下.这里提前索要再看,记得点一点再看哦.这只是其中一些技巧,以后会慢慢和大家分享. 1.变量连续赋值 (https://jq.qq.com/?_wv=1027&k=UEbz4NcQ) 在python中是可以使用连续赋值的方式,来一次为多个变量进行赋值的,这里主要有以下两种方式. # 多个变量赋同一个值 a = b = c = 8 print(a,b,c) # 多个变量赋不同的值 a,…
再来一个大家很熟悉的 dict={"a": "b","c": "d"}k,v=dict.items()print(k,v)for k,v in dict.items(): print(k,v,end="\n") C:\Python37\python.exe C:/Users/Administrator/PycharmProjects/Supro/lib/python_utils.py('a', 'b') (…
很多人有的时候只需要获取文章中的固定的一行,那么我知道这一行,我需要怎么样去获取呢 可能会有人说读取这一行,如果这一行是已什么开头的就读出来, 其实还有一种办法,就是我知道文件的路径.知道我要取的行数,我就可以用python 直接的把它取出来. 准备beijing.txt 内容如下: beijing shanghai tianjin 那么我要获取第一行的的文字,那么我可以这么写代码 import linecache with open('study.py',encoding='utf-8') a…