与c不同:
列表list [ ] c=['hello','1'] c=list([]) 元组tuple ( ) c=('hello','python',99) --不可变 字典dist { } c={'陈':99} c=dict(name='age',辰='1',num='11',up=10) key:value 集合set { } c={1,2,3,4,5,6} key
1.不用定义变量
2.不用加括号
3.a++不适用---a+=1
4.函数条件后需要加 :
5. ,不合适多变量定义,需要用;
6.break 等效 continue 等效
7.\n 换行 也可输出空--print() \t 空格
8.嵌套循环的break作用于嵌套的循环中,continue结束当前循环,继续下一步
9.查看格式 print('地址',id(name),'类型:',type(name),'内容:',name)
10.输出默认为换行输出 不执行换行操作----print(*,end=' ')
11.退格:\b 换行:\n 纵向制表符:\v 横向制表符:\t 回车:\r tab间距:\t print(c,'\t',end=' ') print('C'*5)
12.小写转大写 .upper(空)
13. 可变序列: ①列表 ②字典 不可变序列: ①字符串 ②元组
14.调用函数用() 空列表 lst=[] lst=list() 空字典 d={} d=dict() 空元组 t=() t=tuple()
15.元组中嵌套列表可修改列表的值 c=(10,[1,2,8],3) c[1][0]=9 输出:(10, [1, 2, 9], 3) 进行添加 c[1].append(0) 输出:(10, [1, 2, 9, 0], 3) 进行删除操作 c[1].remove(2) 输出:(10, [1, 9, 0], 3)
16.判断是否存在元素 --in not in
17.一行实现输入: a,b,c=map(int,input().split()) split()默认以空格间隔为输入 如输入格式为 3 ,4 则为x,y=input().split(',')
18.输出: 宽度:x%d
%占位符: print('f(%.1f) = %.1f'%(x,x)) // print('f(%d) = %d'%(x,x)) //print(f(%d)%x) 待输出数据不需要, {位置,索引}: print('f({0:.1f}) = {1:.1f}'.format(x,x))
f-string : print(f'我叫{name},今年{age})
20.sum(求和函数) 例子 s=sum(a+i for i in range(1,n+1))
21.字符串 可数学运算 如 a='1' s=a*2 s=11 str函数 b=a.strip() 默认去除空格 如 c='111456python' c.strip('156') 输出:456pytho 字符串可才用c[n]查看
21.比较函数 c=[2,3,1,5,6] h=sorted(c) h=[1, 2, 3, 5, 6] print(*sorted(map(int,input().split())),sep=",") * 使用后面的sep,没有则输出数组形式 sep="" 输出格式连接词
22.生成式 ①列表生成式 c=[i*i for i in range(6)] ②计算--求和 s=sum(a*i for i in range(1,n+1)) ③集合生成式 c={ i*i for i in range(6)}
数学运算符 + ,- ,*, / ,//(整除),%(取余),a**b(幂运算)
类型 int float bool str='类型'
类型转换 如 str c='123',转换 int(c)
不用特意定义变量类型 如 c=1000 (默认为 int 类型), c='abc'(str类型), c=1.1(float类型)
地址与类型 print( '地址:'id(c) '类型' type(C) )
输出--单双引号都可 print('') && print("") && print(c)
连接输出(变量+中文+变量) int类型需要转str 如int类型的a,b print( str(a)+'大于等于'+str(b) if a>=b else tr(a)+'小于'+str(b) )
输入--变量 c = int (input('提示语')) 不定义变量默认为str结构 类型 提示 且和或 and or
分支结构--判断--不用加括号-加冒号 if c>=a: if 条件表达体: else: 条件执行体 if 条件执行体--嵌套: 执行体 elif(else) (条件执行体) 执行体 elif 条件表达体: 条件执行体2 else: 条件执行体
区间写法 90<=num<=100 且 and 或or
if elif--简写 print((True 内容) 判断语句 (false 内容)) (a>=b) if a>=b (a<b)
pass-- 空条件执行体 if not 否
----内置函数(不可更改) range() -----生成一个整数序列 range(stop) ------r=range(10) #[0,1,2,3,4,5,6,7,8,9] 默认从0开始r 元素间距为1 range(start,stop) ------r=range(1,10) #[1, 2, 3, 4, 5, 6, 7, 8, 9] 元素间距为1 range(start,stop,step) ------r=range(1,10,2) #[1, 3, 5, 7, 9] 起点 终点 间距 输出数组 print(list(r)) #以数列输出
使用range生成列表(开n个列表(数组)):c=[i for i in range(start,stop)] c=[i(可运算 如i*i i+i) for i in range(1,10)] print(c) [1, 2, 3, 4, 5, 6, 7, 8, 9] 表达式 自定义变量 可迭代变量
(数组)列表(可变序列)-- 直接使用 c=['hello','1'] 调用list函数 c=list(['hello']) 从后面遍历回来,从-1开始 -N到-1
查询: 查看当前位置 c.index('hello')==0 c.index(1)==1 指定位置查找 c.index('hello',0,2) ----开区间查找
区域输出 -- 切片段-形成新的列表 区域输出 print(c[start:Stop:step]) #起点 终点 布距(可默认) 默认情况 print(c[::]) 输出全列表 倒序输出 print(c[::-1])
遍历: 判断 in && not in for i in c: ##赋值给i
添加: 末尾添加:append() c.append(2) # ['hello', '1', 100]
末尾至少添加一个元素(把另一个列表添加到一个列表中":扩展"):extend() c.append(2) # ['hello', '1', 100] c1 = [, 6, 7, 8] c.extend(c1) # ['hello', 1, 6, 7, 8]
任意位置添加:insert 插入:c.insert(1,99) #['hello', 99, '1']
切片(切去,舍,后插入多元素):从c[1:]=c1 #['hello', 6, 7, 8] 1位置包括1,后面舍去,前面保留
删除: remove() 一次删除一个元素 重复的只能删除第一个
创建空列表: c=[] c=list()
循环结构 while 和 for-in / while 条件判断体: #不加括号
/ for(a)in(b) 将b的值逐一赋值给a -- for a in 'abc': print(a) a b c 作为循环体 for i in range(5) ---循环体 从0到5 _ 为循环执行输出用
key键 值(’可中文’) 字典(可变序列) --每个元素两个成员 使用内置函数 dict c=dict(name='age',辰='1',num='11',up=10) {'name': 'age', 'now': 1, 'num': 11, 'up': 10} (key不可重复) c={'陈':99}
/所有元素都是一个key-value对,key不可重复,valu可重复 ;元素都是无序的 ;key不可更改
/创建 c={'陈':1,'c':2,3} c=dict{name:'number',c:2} 两种赋值方法代入
/空字典 c={} 键 值
/查看 调用键查看值 ① [] print(c['辰']) == 1 键不存在 报错:不存在 格式 字典名[key] ② get() c.get('辰') == 1 键不存在 None 格式 字典名.get(key)
/判断存在 print(’辰‘ in c) True
/删除 del c['num'] 删除整对 格式 del 字典名[key]
/清空 c.clear()
/添加 c['玖']=98 格式 [key]=Value
/修改 c['辰']=99 格式 [key]=value
/获取数据 ① 所有key :y = c.keys() dict_keys类型 转list类型 print(list(y)) ②所有值 :y = c.values() dict_values类型 转list类型 print(list(y)) ③所有键值对:y = c.items() dict_items类型 [('name', 'age'), ('辰', 1), ('num', '11'), ('up', 10)] () 元组
/遍历 for i in c: print(i) (键) print(c[i],c.get(i)) (值)
/生成式 zip() 打包 key=['one','two','three','four'] valu=[1,2,3,4] c={key:valu for key,valu in zip(key,valu)}
元组 --不可更改 () /创建 ① 使用 () c=('hello','python',99) 输出:('hello', 'python', 99) 只有一个元素,需加, c=('python',) c='python', 可省略括号 c='hello','python',99
② 使用内置函数 tuple c=tuple(('hello','python',99)) *双括号 输出:('hello', 'python', 99)
③ 空元组 c=() // c=tuple()
/定位查看 索引 c[i]
/遍历 for i in c print(i)
集合--可改变序列 { } 只有key 没有值 key不可重复 无序 /创建 ①使用{ } c={1,1,2,2,3,3,4,5,6} 输出:{1, 2, 3, 4, 5, 6}
/其他类型转换成集合————使用 set 函数-----无序 ①range转成集合 c=set(range(6)) 输出:{0, 1, 2, 3, 4, 5} ②列表转成集合 c=set([7,8,9,'python']) 输出:{8, 9, 'python', 7} ③元组转成集合 c=set((3,4,5,'python')) 输出:{3, 4, 5, 'python'} ④字符串转集合 c=set('python') 输出:{'h', 'o', 't', 'n', 'p', 'y'}
/空集合 c=set()
c={1,2,3,4,5,6,7}
/添加 add() -------一次添加一个: c.add(8) 输出:{1, 2, 3, 4, 5, 6, 7, 8}
update() ---------至少添加一个元素: ①添加新集合到原集合:c.update({9,10,11}) 输出:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} ②添加列表到集合中 :c.update(['one','two','three']) 输出:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 'one', 'three', 'two'} ③添加元组到集合中 :c.update(('four','five',16)) 输出:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 'one', 'three', 'five', 16, 'two', 'four'}
/删除 remove() ----------一次删除一个指定元素 ,如果指定元素不存在抛出异常 KeyError c.remove(7)
discard() ---------- 一次删除一个指定元素,如果指定元素不存在不抛出异常 c.discard(7)
pop() ----------一次只删除一个任意元素 c.pop()
clear() ----------- 清空集合
/两集合的关系: c={1,2,3,4,5,6,7} c1={1,2,3} c2={6,5,4,3} ① 等与不等 == != ②判断子集(小是大的子集) c1.issubset(c) -----True ③判断超集(大的是小的超集) c.issuperset(c1) -----True ④判断交集 c1.isdisjoint(s3) ----False (相反结果) ⑤交集 c1.intersection(c2) -----{3} c1 & c2 -----{3} ⑥并集 c1.union(c2) -----{1, 2, 3, 4, 5, 6} c1+c2 ⑦差集 c2.difference(c1) -----{4, 5, 6} (c2 - c1) c2-c1 ⑧对称差集 c1.symmetric_difference(c2)) -----{1, 2, 4, 5, 6} (-同) c1^c2
字符串: c='pythonn' c1="pythonn" c=2'''pythonn''' 驻留机制---相等--当下一变量相等时间时直接从 字符串池 赋值 c1='p' ; c2='n'
①查找:c.find(c1) --查找第一次出现的位置,不存在返回-1 输出:0 c.index(c1) --查找第一次出现的位置,不存在抛出ValueError
c.rfind(c1) --查找最后一次出现的位置,不存在返回-1 c.rindex(c1) --查找最后一次出现的位置,不存在抛出ValueError
②相加:c=' '.join(['ab','c'])
③转换大写(元字符串无变化): s=c.uppeer() 输出:PYTHONN
转换小写: s=c.lower()
大写转小写,小学转大写: s=c.swapcase()
第一个字符转换为大写,其余转小写: s=c.capitalize()
把每个单词的第一个字符转换为大写,每个单词的其余字符串转为小写:s=c.title()
④对齐操作: /中间对齐: c.center(总空间x,填充物质(默认空格)'*') c.center(20,'*') 输出:******pythonn******* /左对齐 :c.ljust(总空间x,填充物质'*') /右对齐 :c.rjust(总空间x,填充物质'*') /右对齐(0填充):c.zfill(x)
⑤劈分(分割,形成列表): c='hello world for python' l=c.split(sep='指定符号劈分') (默认空格) 输出:['hello', 'world', 'for', 'python'] 左劈分 l=c.split(sep='|',maxsplit=(劈分单词数量x)) l=c.split(sep='|',maxsplit=(1)) 输出: 右劈分:l=c.rsplit()
⑥判断是否合法: 合法--字母加下划线_ :c.isidentifier() 空白字符串组成(回车,换行符,水平制表符): c.isspace() 全部字母组成: c.isalpha() 全部由十进制的数字组成:c.isdecimal() 全部数字组成:c.isnumeric() 全部由数字和字母组成: c.isalnum
⑦字符串替换: c.replace('被替换字符','替换的字符','最大替换次数')
⑧合并(将列表合并成一个字符串):c=['hello', 'world', 'for', 'python'] print('间隔符'.join(c)) 输出:hello world for python #(为字符则间隔为'间隔符')
⑨比较 > >= < <= == c1='hello' c2='python' c1>c2
⑩切片:(产生新对象) s[起始位置:终点] s[start:stop:step]
编码转换: 将字符串转为二进制(bytes):s='天涯何处无芳草' 编码: s.encode(encoding='GBK') #在GBK格式中,一个中文占两个字节 解码: # byte代表二进制数据 byte=s.decode(encoding='GBK')
编码: s.encode(encoding='UTF-8') #在UTF-8格式中,一个中文占三个字节 解码: #byte代表二进制数据 byte=s.decode(encoding='UTF-8')
函数的创建和调用: 创建:def 函数名 ([输入参数]) : def calc(a,b): 函数体 c=a+b [return x] return c
调用:r=calc(10,20)
|