Python2和Python3中列表推导式的不同 python2 >>> x = 'my girl' >>> lst = [x for x in 'hello'] >>> x 'o' 可以看到x的值被覆盖了 来看python3 python3 >>> x = 'my girl' >>> lst = [x for x in 'hello'] >>> x 'my girl' x的值没有被覆盖,这是因为p…
看下面两个例子: python2的环境:列表中的同名变量名被替换了 >>> x = 'my precious' >>> dummy = [x for x in 'ABC'] >>> dummy ['A', 'B', 'C'] >>> x 'C' python3:列表中的同名变量名没有被替换 >>> x = 'ABC' >>> dummy = [ord(x) for x in x] >>&…
比如我们有个列表: number = [']; 如果我们需要将列表里的元素转换为数字呢?最常用的大家可能会想到使用列表推导式: number = ['] number = [int(x) for x in number] print(number); 输出:[1, 2, 3, 4] 还有一种技巧,更方便: number = ['] number = list(map(int, number)) # 使用内置map返回一个map对象,再用list将其转换为列表 print(number) 输出:[…
在写爬虫的时候,经常需要处理cookie,requests库里的cookie是dict,但是headers['cookie']却是一个key=value的字符串. 下面是几个用推导式实现的转换函数,供大家参考. #coding=utf-8 #create by :joshua zou #create date :2018.5 import logging #key=value列表转换成cookie字典 def cookie_list_2_dict(cookli): if not isinstan…
Python 2.x 中,在列表推导中 for 关键词之后的赋值操作可能会影响列表推导上下文中的同名变量.像下面这个 Python 2.7 控制台对话: Python 2.7.15 (default, May 1 2018, 05:55:50) [GCC 7.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information.…
列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表. 它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句.那个表达式可以是任意的,意思是你可以在列表中放入任意类型的对象.返回结果将是一个新的列表,在这个以 if 和 for 语句为上下文的表达式运行完成之后产生. 列表推导式的执行顺序:各语句之间是嵌套关系,左边第二个语句是最外层,依次往右进一层,左边第一条语句是最后一层. 下面看一个具体的例子: 实例1:求10以内每个数字的平…
目录 少废话,直接上例子 for 联盟 for 与 list 的简单合作 for 的老搭档 range() for 与嵌套列表(双层列表) for 从 if 那儿认识的 else 循环"三杰" while 部落 for 写了挺多,感觉有些对不住 while 少废话,直接上例子 for 联盟 for 与 list 的简单合作 # 例1 list1 = [0, 1, 2, 3, 4] for i in list1: print(i) 运行结果 0 1 2 3 4 for 语句会按一定顺序(…
列表去重的两种方式: # 创建列表放数据 a =[1,2,1,4,2] b=[1,3,4,3,1,3] d=[] for i in a: if i not in d: d.append(i) print(d) #set 去重 b=set(b) print(b) 列表切片.翻转列表: >>> s = 'abcdefgh' >>> s[::-1] # 可以视为翻转操作 'hgfedcba' >>> s[::2] # 隔一个取一个元素的操作 'aceg' l…
1.定义 列表的关键字:list 列表以[]括起来,数据之间用 , 隔开.列表当中的数据,可以是任意类型.数值是可以重复的. 列表元素是 可变的,顺序是 有序的. 例如: b = ["萝卜", "jason", "1234", True] 使用列表的生成式语法来创建列表: def main(): f1 = [x for x in range(1, 10)] print(f1) f2 = [x + y for x in 'ABC' for y in…
爬虫时适当更换user-agent可以稍微规避一下代理被封的风险... from random import sample ua = [ 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C;…
a=[i for i in range(1,10) if i%2==0]print(a)c=[(x,y) for x in range(5) if x%2==0 for y in range(5) if y%2==1]print(c) M=[[1,2,3],[4,5,6],[7,8,9]]N=[[2,2,2],[3,3,3],[4,4,4]]d=[M[i][2] for i in range(len(M))]print(d)e=[M[i][i] for i in range(len(M))]pr…