语法格式:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) >>> a=1 >>> b=2 >>> d=[1,2,3] >>> print(a,b,d) 1 2 [1, 2, 3] >>> print(a,b,d,sep="$") 1$2$[1, 2, 3]His name is Tom, his age is 18. His name is Tom, his age is 18.
>>> a=100 >>> "%d%%"%a '100%'格式:print(" % " %变量名)
Guangzhou,Name: Tom, age: 18 第一个元素是:baidu
[基本语法是通过{}和:来替代以前的%]
格式:print(" …{} ".format(‘tom’/18))
列表使用方括号[],每个元素逗号分隔;
可以储存不同的数据类型数据
特点:有序,可重复,可变类型
<class ‘list’> ([1, 2, 3, ‘abcd’, ‘City’, ‘College’, [‘I’, ‘love’, ‘python’]], <class ‘list’>) ([‘a’, ‘b’, ‘c’, ‘d’, ’ '], <class ‘list’>)
#(1)拼接 li1 = ["I"] li2 = ["love","python"] print(li1+li2) #(2)重复 print(li2*3) #(3)索引(偏移)[],切片[:],[::] li = ["C","i","t","y","City","College","Zhejiang",["City","College","Zhejiang"]] print(len(li)) print((li[0],li[-7])) print(li[:5]) print(li[::-1]) print(li[7][1])[‘I’, ‘love’, ‘python’] [‘love’, ‘python’, ‘love’, ‘python’, ‘love’, ‘python’] 8 (‘C’, ‘i’) [‘C’, ‘i’, ‘t’, ‘y’, ‘City’] [[‘City’, ‘College’, ‘Zhejiang’], ‘Zhejiang’, ‘College’, ‘City’, ‘y’, ‘t’, ‘i’, ‘C’] College
1295698911880 ([‘City’, ‘College’, [‘a’, ‘b’, ‘c’]], 1295698911880) 1295700185160
#extend() li = ["City","College"] #print(id(li)) li1 = ["a","b","c"] li.extend(li1) print(li) #insert(),按照索引添加 li.insert(1,li1) print(li)[‘City’, ‘College’, ‘a’, ‘b’, ‘c’] [‘City’, [‘a’, ‘b’, ‘c’], ‘College’, ‘a’, ‘b’, ‘c’]
#改 li = ['City', ['a', 'b', 'c'], 'College', 'a', 'b', 'c'] li[5] = "6666" li[2:6] = ["x","y","z"] print(li[2:6]) #删 # - pop(),返回被删除的元素 # - 若不指定索引,默认删除最后一个元素 # - 删除指定索引对应的元素 li = ["a","b","c","d","e"] print(li.pop(2)) print(li) # - remove(),移除第一次遇到的指定元素 li = ["a","b","c","d","e","city","e"] print(li.remove("e")) print(li) # - del li = ["a","b","c","d","e","city","e"] del li[5] print(li) # - clear() li.clear() print(li)c [‘a’, ‘b’, ‘d’, ‘e’] None [‘a’, ‘b’, ‘c’, ‘d’, ‘city’, ‘e’] [‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘e’] []
#遍历 #(1)元素遍历 li = ["a","b","c"] for i in li: print(i) #(2)索引遍历 li = ["a","b","c"] for i in range(len(li)): print(li[i]) #枚举遍历 # enumerate(),对于一个可迭代的/可遍历的对象(如列表、字符串等), # enumerate() 将其组成一个索引序列,利用它,我们可以同时获得索引和值 li = ["a","b","c"] for i in enumerate(li,2): print(i) li = ["a","b","c"] for index,value in enumerate(li[:2],2): print(index,value)(2, ‘a’) (3, ‘b’) (4, ‘c’) 2 a 3 b
#堆和栈,用列表实现 # - 计数,count(),查找元素出现的次数 # - 反转,reverse() li = list("abcd") print(li) li.reverse() print(li)[‘a’, ‘b’, ‘c’, ‘d’] [‘d’, ‘c’, ‘b’, ‘a’]
# - 排序,sort() li = list("abcd") li.sort() print(li) li.sort(reverse=True) print(li)[‘a’, ‘b’, ‘c’, ‘d’] [‘d’, ‘c’, ‘b’, ‘a’]
浅拷贝只引用了一级对象(里层[复杂子对象]的还是能改)
深拷贝完全独立的两个东西。
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 4, 16, 36, 64]
#格式:# python# [表达式 for 迭代元素 in 可迭代对象]#
实现原理:
迭代[可迭代对象]中的每一个元素
每迭代一次的结果赋值给对应的迭代元素,在通过表达式运算得到一个新的值
最后所有通过表达式计算的值以一个列表的形式返回
#三目运算符 y=10 x=y+1 if y>10 else y-1 print(x) 带过滤功能格式 ```python [exp for iter_val in iter if if_condtion] ``` li = [] for iter_val in iter: if if_condition: li.append(iter_val) print(li) name = ["Tom", "Jack", "Lucy"] subject = ["python", "java", "c", "c++"] 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])[[‘Tom’, ‘python’], [‘Tom’, ‘java’], [‘Tom’, ‘c’], [‘Tom’, ‘c++’], [‘Jack’, ‘python’], [‘Jack’, ‘java’], [‘Jack’, ‘c’], [‘Jack’, ‘c++’], [‘Lucy’, ‘python’], [‘Lucy’, ‘java’], [‘Lucy’, ‘c’], [‘Lucy’, ‘c++’]] [[‘Tom’, ‘python’], [‘Tom’, ‘java’], [‘Tom’, ‘c’], [‘Tom’, ‘c++’], [‘Jack’, ‘python’], [‘Jack’, ‘java’], [‘Jack’, ‘c’], [‘Jack’, ‘c++’], [‘Lucy’, ‘python’], [‘Lucy’, ‘java’], [‘Lucy’, ‘c’], [‘Lucy’, ‘c++’]]
元组的创建
空元组的创建,不能添加元素
单元素组的创建,需要在单元素后面添加逗号
多元素组的创建,包含多种数据类
(1)拼接
(2)重复
(3)索引(偏移) 切片
元组不能增减,可以删。
tp = ("a","b","c") print("a" in tp)# 最大值、最小值 print(max(tp),min(tp))True c a
三种遍历方式
#遍历 tp = ("a","b","c") for i in tp: print(i,end=" ") print() #索引遍历 tp = ("a","b","c") for i in range(len(tp)): print(tp[i],end=" ") print() # #枚举遍历 tp = ["a","b","c"] for i in enumerate(tp): print(i)a b c a b c (0, ‘a’) (1, ‘b’) (2, ‘c’)
