基础
1.引号:单引号里面可以有双引号,双引号里可以有单引号,单里不可有双,双里不可有单,三引号里双单均可,还可以换行
2.print 的格式化:format f-string %
print('{0}is {1}'.format('mam',13))
print('{nam}is {age}'.format(age=19,name='mam'))
age=10
name='mam'
print(f'{name}is{age}')
print默认sep=' ',end='\n'
3.
// | 整除:5//2 (2) 5.0//2.0(2.0) |
** | 幂运算 |
divmod | divmod(5,2)(2,1) |
math.factonal | 阶乘 |
math.trunc | 返回最接近0的整数 |
is 与is not | 与==的区别是(name,id地址,value)is是看的id |
and or not | |
c=a-b if a.b else b-a | 条件三目运算符 |
range(start,end,step) | 左开右闭,没有start默认为0 |
print(ord("a")) | 67 |
pass | if a>1 :print('yes') else: pass |
while: else: | 如果while里面有return或break else也会跳过 |
序列
1.索引:正向0--n-1反向-1到-n
2.切片 list_name[start:end:step] 也是左开右闭
3.函数:
sum() | 这样只能是s=[1,3,5,2]这种数字序列 |
len() | 就是长度 |
max(),min() | acsii码最大最小的,只能数字与数字比,str与str比 |
list(),str() | |
s.count(a) | |
sorted() | |
reversed() | |
zip() | 返回几个列表压缩成的新列表 |
c1+c2 | 序列可以相加 |
c1*3 | 序列可以相乘 |
print("Tom" in c) | 返回true/false value in sequence |
s.index(a) | 返回在序列中第一次出现位置,找不到返回ValueError |
列表(list)
1.创建与删除
①直接用=赋值:list1=["Tom","Bob","Sonya"]
②用list(data)函数创建数值型列表 ad: list2=list(range(10,20,2)
③删除列表,此步骤为非必要操作:del listname
2.遍历
①for item in listname
②for index item enumerate(listname)
③用迭代器:for val in iter(listname)
3.增删查改
指令 | 结果 | 注意 |
listx.apend("asd") | [1,2,3,'asd'] | |
listx.extend("asd") | [1,2,3,'a','s','d'] | 可以追加元组, 字典等类型 |
listx.insert(1,"asd") | [1, 'asd', 2, 3] | |
del listx[0] | [2, 3] | del list[index] |
listx.remove(2) | [1, 3] | list.remove(value) |
listx.clear() | ||
listx.pop(index) | 默认index=-1 | |
listx[2]="kim" | [1, 2, 'kim'] | 直接修改 |
listx.reverse() | [3, 2, 1] | |
new_list=listx.copy() | ||
num=listx.index(3) | 2 | |
listx.count(obj) | ||
len(listx) | 3 | |
for x in listx | ||
listx.sort(key=None,reverse=False) | 默认先排序大写的 key=str.lower则不区分大小写 | reverse=True降序 |
new_list=listx.sorted(key=None,reverse=False) | 与sort区别在于 sorted会生成一个新的列表 |
元组(Tuple)
①tuple_name=("Jack","Tom","Sahar")等于tuple_name="Jack","Tom","Sahar"
用逗号隔开默认为元组
②如果只有一个元素:tuple_lonely=("Sole",)注意这里的","不能省略
③创建数值元组tuple(data):ps:tuple_x=tuple(range(10,20,2))
④创建空的元组:tuple_empty=()
⑤删除:del tuplename
⑥整体替换:元组是一个整体不能像序列那样灵活的改变,但是如果是内部有一个元素是序列的话可以单独改变这个序列里的值
tuple_x=("desk","bed","room")
tuple_x=("photo","ice")
⑦常用函数:
max(),min(),tuple(seq),len(tup)
字典(dict)
1.创建
dict1={'pku':'北京大学','tsinghua':'清华大学','fudan':'复旦大学'}
dict2=dict(pku='北京大学',tsinghua='清华大学',fudan='复旦大学')
list1=['pku','tsinghua','fudan']
list2=['北京大学','清华大学','复旦大学']
dict3=dict(zip(list1,list2))
dict4=dict.fromkeys(list1)
{'pku': '北京大学', 'tsinghua': '清华大学', 'fudan': '复旦大学'}
{'pku': '北京大学', 'tsinghua': '清华大学', 'fudan': '复旦大学'}
{'pku': '北京大学', 'tsinghua': '清华大学', 'fudan': '复旦大学'}
{'pku': None, 'tsinghua': None, 'fudan': None}
2.访问与遍历
dict1={'pku':'北京大学','tsinghua':'清华大学','fudan':'复旦大学'}
print(dict1.get('cau',"no exit"))
for item in dict1.items():
print(item)
for key, value in dict1.items():
print(key, value)
no exit
('pku', '北京大学')
('tsinghua', '清华大学')
('fudan', '复旦大学')
pku 北京大学
tsinghua 清华大学
fudan 复旦大学
3.增删查找
dict1={'pku':'北京大学','tsinghua':'清华大学','fudan':'复旦大学'}
dict1['sju']='上交大'
del dict1['tsinghua']
dict1.clear()
print(dict1.pop('sju'))#获取key对应的value,并删除此对
dict1 ={'name': 'Huayi', 'age': 7, 'gender':'男'}
print(dict1['name'])
#返回对应的值(key存在),如果key值不存在,将报错
#get()函数查找字典元素
print (dict1.get ('name'))
print(dict1.get('names'))
#如果k e y不存在,返回None
print(dict1.get('names', 'Maomao'))
#keys()函数查找字典中所有的k e y,返回可迭代对象
print(dict1.keys())
#values()函数查找字典中的所有value,返回可迭代对象
print(dict1.values())
#items()函数查找字典中所有的键-值对,返回可迭代对象,里面的数据是元组,元组数据1是字
#典的key,元组数据2是字典keY对应的值
print(dict1.items())
Huayi
Huayi
None
Maomao
dict_keys(['name', 'age', 'gender'])
dict_values(['Huayi', 7, '男'])
dict_items([('name', 'Huayi'), ('age', 7), ('gender', '男')])