如果大家想要系统的学习和研究python以及在其基础上的常见的机器学习和深度学习框架和工具包, 那么强烈推荐大家学习CSDN开设的:
人工智能工程师:https://edu.csdn.net/topic/ai30?utm_source=ljl
这个课程我实际听了, 老师的讲授水平很好, 条理清晰,思路明确,例子丰富, 非常值得大家学习借鉴, 在此强烈推荐一波, 让我们一起学习进步~
ps: 如果想要系统学习python的朋友,下面这门课是涵盖了python基础语法、web开发、数据挖掘以及机器学习,是CSDN强力推荐的课程,有需要的朋友可以看看哈:
Python全栈工程师:https://edu.csdn.net/topic/python115?utm_source=ljl
创建元组:tuple1 = (),其中元素类型可以不同;
定义只有一个元素的元组时:tuple1 = (1, ),元素后面要有逗号!否则输出1;
访问:tuple1[index];tuple[-1]:获取最后一个元素;-2,-3,……,-n;
元组不可变,不可修改其元素,可遍历;
元组与列表的嵌套:tuple1 = (1, 2, 3, [4, 5, 6]);
tuple1[-1] = [5, 6, 7]:错误,不可修改其元素;
tuple1[-1][0] = 500:允许,修改的是列表元素;
删除元组:del tuple1;
元组连接:相加;元组重复:相乘;3 in tuple1;
元组截取:tuple2 = tuple1[start:stop];
二维元组:元素为一维元组的元组;
len(tuple1):元组元素个数;max();min();
将列表转化为元组:tuple1 = tuple(list1);
元组不可变,不可增删,安全性高;
str1.split(str="char", num=-1):以str为分隔符截取num+1个字符串,str1.count(str);
str1 = "we**still****have*a**long***way*to*go"
list1 = str1.split("*")
c = 0
for i in list1:
if len(i) > 0:
c += 1
print(c)
str1.splitlines([keepends]):默认False,True保留换行符,按'\r','\r\n'或'\n'分割;
str1 = "str".join(list1):以str为分隔符,将list1中的所有元素组合成一个字符串;
max(str1);min(str1);ASCII码最大的 和 最小的;
str2 = str1.replace(oldstr, newstr, num):用newstr替换oldstr,替换num个,默认所有;
mp = str.maketrans("abcd", "1234")#a---1 b---2 c---3 d---4
str1 = "we still have a long way to go!"
str2 = str1.translate(mp)
str1.startwith(str[, start=0][, end=len(str1)]):范围内是否是以str开头的,返回True和False;
str1.endwith(str[, start=0][, end=len(str1)]):……结尾……;
data1 = str1.encode("utf-8"):编码;
str1 = data1.decode("utf-8"):解码,要与编码时编码格式一致;
编码解码时可增加"ignore"参数,表示忽略错误;utf-8 和 gbk格式;
str1.isalpha():是否至少有一个字符并且全为字母;
str1.isalnum():是否至少有一个字符并且全为数字或字母;
str1.isupper():是否至少有一个英文字符并且全为大写字母;
str1.islower():是否至少有一个英文字符并且全为大写字母;
str1.istitle():是否是标题化的字符串;
str1.isdigit():是否至少有一个字符并且全为数字;
isdigit()数字,isnumeric()数字字符,isdecimal()十进制字符 区别!!!
str1.isspace():是否只包含空格,\r, \n, \t, \f;
字典使用键-值(key-value)对存储,具有极快的查找速度;
key特性:
- 字典中的key必须唯一
- key必须是不可变对象
- 字符串、整数等都是不可变的,可以作为key
- list是可变的,不能作为key
dict1 = {"sinhaeng":99, "hhjian":999}:创建字典;
dict1["sinhaeng"]:字典访问;
dict1.get(str):如果没有str这个key,返回None;
dict1["sss"] = 999:添加键-值;
dict1["sinhaeng"] = 9999:一个key对应一个value,多次赋值就是修改;
dict1.pop(str):删除key为str的键-值对;
#遍历字典
dict1 = {"sinhaeng":99, "hhjian":999, "sss":9999}
for key in dict1:
print(key, dict1[key])
for value in dict1.values():#dict1.values()是所有value组成的列表
print(value)
for k, v in dict1.items():#dict1.items()是一维列表,二维元组结构
print(k, v)
for i, v2 in enumerate(dict1):#字典是无序的,此处是存储顺序编号
print(i, v2)
字典和list比较:
- 查找和插入的速度极快,不会随着key-value的增加而变慢
- 需要占用大量的内存,内存浪费多
#字典实现str1.count(str2)
inp = input()
list1 = str1.split(" ")
dict1 = {}
for i in list1:
f = dict1.get(i)
if f == None:
dict1[i] = 1
else:
dict1[i] += 1
print(dict1[inp])