python_0基础开始_day07
第七节
1,基础数据类型补充
str:
print(str.capitalize()) —— 首字母大写
print(str.title()) —— 每个单词的首字母大写
print(str.swapcase()) —— 大小写转换,字符串中大变小,小变大
print(str.center(大于str总数的数字,"分割符号")) —— 居中,填充
print(str.fimd("元素")) —— 查找 通过元素查找索引,查找不到时返回-1
print(str.index("元素")) —— 查找 通过元素查找索引,查找不到时就报错
print("分割符".join(list)) —— 拼接,将列表转换成字符串
字符串进行加操作,乘操作都是开辟新的空间
list:
print(list("1237654")) ——列表的定义
print(list.index("元素")) —— 通过元素查找索引
list.sort() —— 排序,默认是升序
list.sort(reverse=True) —— 降序,将升序反转
list.sort()
list.reverse() ——人工降序
list.reverse() —— 将源数据进行反转
lst = [1,23,4,5,7,8,9]lst.reverse()print(lst) # 将源数据进行反转lst1 = lst[::-1]print(lst)print(lst1) # 不修改源数据进行反转
列表在进行乘法的时候,元素是共用的
tuple:
# 面试:tu = (1)tu1 = ("alex")tu2 = (1,)# 元组tu3 = ()# 元组tu4 = (12,3,4) + (4,5,3,4)print(tu4) # (12, 3, 4, 4, 5, 3, 4)tu5 = (1,[]) * 3print(tu5)# (1, [], 1, [], 1, [])tu5[-1].append(10)print(tu5)# (1, [10], 1, [10], 1, [10])
dict
print(dic.popitem()) —— 随机删除,python3.6版删除最后一个键值对
popitem返回的是被删除的键值对
# 面试题:dic = {}dic.fromkeys("abc",[]) print(dic)# {}print(dic.fromkeys("abc",[]))# 批量创建键值对 {"a":[],"b":[],"c":[]}"a":[],"b":[],"c":[]}dic = dic.fromkeys("abc",[]) # 给批量这个赋值给dicprint(dic)# {"a":[],"b":[],"c":[]}"a":[],"b":[],"c":[]}dic["b"] = 11dic["a"].append(10)print(dic)# {'a': [10], 'b': 11, 'c': [10]}
fromkeys 第一个参数必须是可迭代对象,会将可迭代对象进行迭代,成为字典的键,第二个参数是值(这个值是共用的)
fromkeys 共用的值是可变数据类型就会有坑,不可变数据类型就没事
基础数据利类型总结:可变,不可变,有序,无序
可变:
list
dict
set
不可变:
int
str
tuple
bool
有序,可索引:
str
list
tuple
无序,不可索引:
set
dict
数据类型转换
int <——> str
s = str(int),没有条件
i = int(str),转换的字符串必须是数字
int <——> bool
非0就是True,0是False
转换数字:F = 0,T = 1
str <——> bool
Fasle = "" , True = " "
str = "False" ,str = "True"
list <——> tuble
list = list(tuple)
tuple = tuple(list)
list <——> set
list = list(set)
set = set(list)
tuple <——> set
tuple = tuple(set)
set = set(tuple)
以下非常重要:
list ——> str
lst = ["1","2","3"]print("".join(lst))
str ——> list
s = "alex wusir 太白"print(s.split())
2,可能会遇到的坑
死循环lst = [1,2,3]for i in lst: lst.append(4)print(lst)# 打印不出来,lst = [1,2,3,4,4,4,...]无限4
lst = [11,22,33,44]for i in lst: lst.remove(i)print(lst)# [22,44]for i in lst: del lst[-1]print(lst)# [11,22]for i in range(len(lst)): del lst[-1] # or lst.pop()print(lst)# []lst1 = lst[:]for i in lst1: lst.remove(i)print(lst)# []# 使用for循环清空列表元素内容# 1.从后向前删除, 2.创建一个新的容器,循环新的容器删除旧的容器内容
# 面试题lst = [1,[2]]lst[1] = lstprint(lst)# 答案: [1, [...]]
# 字典和集合:dic = {"key":1,"key1":2}for i in dic: if i == "key1": dic[i] = dic[i] + 8 # dic[i] = 10 else: print("没有这个键!")print(dic)# 字典和集合在遍历(循环)时不能修改原来的大小(字典的长度),可以进行修改值s = {1,2,3,4,5,6}for i in s: s.pop()print(s)# 会报错,不能改变集合的长度
3,二次编码
.encode(编码格式) —— 编码
.decode(编码格式) —— 解码
注意,用什么编码就要用什么解码,网络传输一定是字节
python2,ascii
python3,unicode
python_0基础开始_day07的更多相关文章
- python_0基础学习_day02
第二节 一,while while也称为无限循环.死循环 while 条件: 缩进 循环体 应用领域:音乐播放:单曲循环,列表循环,随机播放(也是有规律的) 登陆界面:…… 数学计算:1~100的和, ...
- python_0基础学习_day01
Python是一门动态解释型的强类型定义语言 一.变量 变量命名规则 由数字.字母.下划线组成 不能以数字开头 要具有描述性 要区分大小写 禁止使用python的关键字(在pycharm中关键字明明变 ...
- python_0基础开始_day06
第六节 1.小数据池 ==,is,id ==:查看等号两边的值是否一样 a = 9b = 9print(a == b) # 返回Truec = "dog"d = "dog ...
- python_0基础开始_day03
第三节 一.整形和布尔值的转换 int整型 python3: 全部都是整型 python2: 整型,长整型long 十进制转换二进制 # 将十进制的168转换为二进制 #得出结果 将十进制的168转 ...
- python_0基础开始_day05
第五节 一.字典 python的数据结构之一 字典 —— dict 定义:dic = {"key":"dajjlad"} 作用:存储数据,大量,将数据和数据起到 ...
- python_0基础开始_day04
第四节 一.列表 list 数据类型之一,存储大量的,不同类型的数据 列表中只要用逗号隔开的就是一个元素 有序可变的. 1.1列表的索引 列表和字符串一样也拥有索引,但是列表可以修改: lst = [ ...
- python_0基础开始_day13
第十三节 一,匿名函数 匿名函数 == 一行函数 lambda == def == 关键字 函数体中存放的是代码 生成器体中存放的也是代码 就是yield导致函数和生成器的结果不统一 lambda x ...
- python_0基础开始_day12
第十二节 一,生成器 生成器的核心:生成器的本质就是迭代器 迭代器是python自带的 生成器是程序员自己写的一种迭代器 在python中有三种方式来创建生成器: 基于函数编写 推导式方式编写 pyt ...
- python_0基础开始_day11
第十一节 一,函数名的第一类对象 函数名当作值,赋值给变量 print(函数名) 查看看书的内存地址 函数名可以当作容器中的元素 lis = []dic = {}def func(): prin ...
随机推荐
- YY的GCD【luoguP2257】
题目大意 有至多\(10000\)组询问,问\(1 < i \leqslant N \leqslant 10000000, 1 < j \leqslant M \leqslant 1000 ...
- liunx 一些文件下载上传的命令
xshell 上传 rz sftp 语法: put path/filename.txt Put -r path/文件夹 或者 put “path/filename.txt” Put -r “path/ ...
- [CSP-S模拟测试]:射手座之日(dsu on tree)
题目传送门(内部题103) 输入格式 第一行一个数$n$,表示结点的个数. 第二行$n–1$个数,第$i$个数是$p[i+1]$.$p[i]$表示结点$i$的父亲是$p[i]$.数据保证$p[i]&l ...
- 学号 20175329 《Java程序设计》第10周学习总结
20175329 <Java程序设计>第十周学习总结 教材学习内容总结 线程与进程 进程时程序的一次动态执行过程.线程是比进程更小的执行单位,一个进程在其执行过程中,可以产生多个线程. J ...
- 浅析SPDY
1.什么是SPDY? 简单地说,在SSL层上增加一个SPDY会话层,以在一个TCP连接支持并发的HTTP请求.也就是他能通过复用仅仅一条(或几条)TCP连接,在客户端与服务器间发送几十个请求或回应. ...
- 【React自制全家桶】二、分析React的虚拟DOM和Diff算法
一.React如何更新DOM内容: 1. 获取state 数据 2. 获取JSX模版 3. 通过数据 +模版结合,生成真实的DOM, 来显示,以下行代码为例(简称代码1) <div id= ...
- 网络通信框架之okHttpUtils
okHttpUtils封装库志支持: 一般的get请求 一般的post请求 基于Http的文件上传 文件下载 上传下载的进度回调 加载图片 支持请求回调,直接返回对象.对象集合 支持session的保 ...
- 交易算法[z]
http://stanford.edu/class/msande448/2019/Final_presentations/ http://stanford.edu/class/msande448/20 ...
- 解决 ElementTree 无法处理中文
解决 ElementTree 无法处理中文,UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 76-99: o ...
- 电脑按住Ctrl+Alt+任何一个方向键。屏幕会改变方向。和IntelliJ IDEA 快捷键冲突,怎么修改?
电脑按住Ctrl+Alt+任何一个方向键.屏幕会改变方向.和IntelliJ IDEA 快捷键冲突,怎么修改? 背景介绍 IntelliJ IDEA默认返回上一步/下一步操作的快捷键是: Ctl+Al ...