Python学习,常用常记(元组 函数,字符串 函数,编码解码,字典 函数)

如果大家想要系统的学习和研究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特性:

  1. 字典中的key必须唯一
  2. key必须是不可变对象
  3. 字符串、整数等都是不可变的,可以作为key
  4. 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比较:

  1. 查找和插入的速度极快,不会随着key-value的增加而变慢
  2. 需要占用大量的内存,内存浪费多
#字典实现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])

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhjian6666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值