#!/usr/bin/python
# -*- coding: utf-8 -*-
li = [1,2,3,4,5,6,7,8,9]
print ([x**2 for x in li])
print ([x**2 for x in li if x>5])
print (dict([(x,x*10) for x in li]))
print ([ (x, y) for x in range(10) if x % 2 if x > 3 for y in range(10) if y > 7 if y != 8 ])
vec=[2,4,6]
vec2=[4,3,-9]
sq = [vec[i]+vec2[i] for i in range(len(vec))]
print (sq)
print ([x*y for x in [1,2,3] for y in [1,2,3]])
testList = [1,2,3,4]
def mul2(x):
return x*2
print ([mul2(i) for i in testList])
1068Python3 列表
Python 列表函数&方法的对象不仅可以是字符串也可以是列表。
输出结果如下:
简单理解:python 在操作对象的时候,会根据自身对对象的定义进行操作,这里 list1 被定义的就是列表,那么 list.append(obj)在操作 list1 时就作为列表追加。1067Python3 列表
这个例子说明了 Python 列表是链式存储结构,并非顺序存储。
输出结果:
1066Python3 列表
1 通过列表切片方式复制列表:
1.1 列表复制
输出:
1.2 验证确实实现了两个列表
输出:
可以看出通过切片方式复制列表,结果是生成了两个列表。
2 通过简单赋值方式复制列表:
输出:
可以看出两个列表是相同的,这并非我们想要的结果。
1065Python3 列表
在此教程中未提到列表的切片,在这里简单的说明一下。
格式: 【start:end:step】
举例说明:
如果不是同样追求语法细节的“老鸟”,这段代码的作用恐怕不能第一眼看出来,实际上为了更好的体现 pythonic 的代码是充分利用 python 库里的 reversed() 函数。
1064Python3 列表
感觉少了列表推导式的讲解 (这个功能很方便的)
1、列表推导式书写形式:
2、举例说明:
结果:
3、总结:
我觉得就是通过 for 语句处理表达式里面的变量,如果还要加条件,就加 if 条件就可以了。