print()函数查看帮助文件
>>> help(print) Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream. >>>语法格式:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)等价于
print(value1,value2,...,valuen,sep=' ', end='\n', file=sys.stdout, flush=False)demo:
>>> a,b,c,*d = 1,2,3,4,5,6 >>> a 1 >>> b 2 >>> c 3 >>> d [4, 5, 6] >>> print(a,b,c,d) 1 2 3 [4, 5, 6] >>> print(a,b,c,d,sep="#") 1#2#3#[4, 5, 6] >>> for i in range(5): ... print(i) ... 0 1 2 3 4 >>> for i in range(5): ... print(i,end=" ") ... 0 1 2 3 4 >>> >>> for i in range(5): ... print(i,end="#") ... 0#1#2#3#4#>>>%格式化字符串 用%匹配参数,注意个数一一对应
print("%d%%" % 100) # %% 转译出% 100%列表由方括号括起来的[],每个元素以逗号分隔;
可以储存不同的数据类型数据
特点 有序可重复可变类型pop() ,返回被删除的元素
如果不指定索引,默认删除最后一个元素
删除指定索引对应元素
li = ['z','u','c','c',['i','love'],'you'] print(li.pop()) print(li) you ['z', 'u', 'c', 'c', ['i', 'love']] li = ['z','u','c','c',['i','love'],'you'] print(li.pop(1)) print(li) u ['z', 'c', 'c', ['i', 'love'], 'you'] remove(),移除第一次遇到的指定元素 li = ['z','u','c','c',['i','love'],'you'] li.remove('c') print(li) ['z', 'u', 'c', ['i', 'love'], 'you'] del li = ['z','u','c','c',['i','love'],'you'] del li[2:5] print(li) ['z', 'u', 'you'] #若 del li 则name 'li' is not defined clear(),清空 li = ['z','u','c','c',['i','love'],'you'] li.clear() print(li) []切片[:]
工厂函数list (li)
copy模块内的copy函数
la = [1,2,3,4,5,6,7,'a',['b1','b2']] lb = la lb2 = la[:] print(id(la)) print(id(lb2)) import copy lb_copy = copy.copy(la) print(id(la)) print(id(lb_copy)) la.append('text') print(la) print(lb_copy) la[8][1] = 'c' print(la) print(lb) 2152543679240 2152543680904 2152543679240 2152543680648 [1, 2, 3, 4, 5, 6, 7, 'a', ['b1', 'b2'], 'text'] [1, 2, 3, 4, 5, 6, 7, 'a', ['b1', 'b2']] [1, 2, 3, 4, 5, 6, 7, 'a', ['b1', 'c'], 'text'] [1, 2, 3, 4, 5, 6, 7, 'a', ['b1', 'c'], 'text']浅拷贝相当于我们只拷贝了一层,修改外层元素,会修改引用,让她们指向另一个位置;修改嵌套列表的元素,列表地址没有发生变化,指向还是一个位置。所以修改内部嵌套内容会同时变化。
深浅拷贝
深拷贝 import copy la = [1,2,3,4,5,6,7,'a',['b1','b2']] lb_deepcopy = copy.deepcopy(la) print(la,id(la)) print(lb_deepcopy,id(lb_deepcopy)) la[8][1]= 'c' print(la) print(lb_deepcopy) [1, 2, 3, 4, 5, 6, 7, 'a', ['b1', 'b2']] 2706895534472 [1, 2, 3, 4, 5, 6, 7, 'a', ['b1', 'b2']] 2706895534280 [1, 2, 3, 4, 5, 6, 7, 'a', ['b1', 'c']] [1, 2, 3, 4, 5, 6, 7, 'a', ['b1', 'b2']]深拷贝拷贝所有对象,包括嵌套元素,创建一个全新的地址,所以修改原内部嵌套内容不会发生连变
用来生成列表的特定的语法形式
格式:
[表达式 for 迭代元素 in 可迭代对象]实现原理
- 迭代[可迭代对象]中的每一个元素 - 每迭代一次的结果赋值给对应的迭代元素,在通过表达式运算得到一个新的值 - 最后所有通过表达式计算的值以一个列表的形式返回 print([x for x in range(10) if x%2==0]) [0, 2, 4, 6, 8] sr = '城市学院' print([ord(x) for x in sr]) [22478, 24066, 23398, 38498] li = [22478, 24066, 23398, 38498] print([chr(x) for x in li]) ['城', '市', '学', '院']带过滤功能格式:
[exp for iter_val in iter if if_condtion]相当于:
li = [] for iter_val in iter: if if_condtion li.append(iter_val) print(li) name = ["1","2","3"] subject = ["4","5","6"] li = [] for i in name: for j in subject: li.append([i,j]) print(li) print([[i,j] for i in name for j in subject]) [['1', '4'], ['1', '5'], ['1', '6'], ['2', '4'], ['2', '5'], ['2', '6'], ['3', '4'], ['3', '5'], ['3', '6']] [['1', '4'], ['1', '5'], ['1', '6'], ['2', '4'], ['2', '5'], ['2', '6'], ['3', '4'], ['3', '5'], ['3', '6']]符号使用 ()
定义:由小括号括起来的(),每个元素以逗号分隔;
单元素之后必须加逗号!
tp = ('123',) print(type(tp)) <class 'tuple'>