基础数据类型补充,及capy daty7
1,基础数据类型,总结补充.
int:bit_lenth()
str:
captilze() 首字母大写,其余小写.
upper() 全大写.
lower() 全小写.
find() 通过元素找索引,没有返回-1,有切片.
index() 通过元素找索引,没有回报错.有切片
swapcase() 大小写反转.
strip() 去除前后端的空格,\n,\t,
strip('abc') 去除前后端的a ,b,c三个元素,
ltrip ,rtrip
title 非字母隔开的部分,首字母大写
split str---> list 默认以空格(可以设定分隔符),
startswith 判断s以什么开头,返回bool值,可以切片
endswith 判断以什么结尾,返回bool值,可以切片
replace(old,new) 默认不写次数,全体换
center 以其为中心,默认填充物 空格.
count 计算元素出现的次数.
len() 测量字符串的长度.
join '' '*' '_'.... .join(interable)
isalpha() 全都是字母组成
isdigit() 全都是数字组成
isalnum() 全都是字母或者数字
'%s' %(name)
name1 = 'taibai '
'%(name)s' %{name:name1}
format
'{}{}{}'.format(name,age,hobby)
'{0}{1}{2}{1}'.format(name,age,bobby)
'{name},{age}'.format(age=12,name='太白')
int数字 str字符串
s = ' ' #只能是以至少一个空格组成的字符串(全空格)
print(s.isspace())
tuple元祖
tu = (1)
tu1 = (1,)
print(tu,type(tu))
print(tu1,type(tu1))
tu = ('alex')
tu1 = ('alex',)
print(tu,type(tu))
print(tu1,type(tu1))
tu = ([1,2,3])
tu1 = ([1,2,3],)
print(tu,type(tu))
print(tu1,type(tu1))
当元组只有一个元素组成并且没有','
则该元素是什么数据类型,整体就是什么数据类型.
tu.append('')
print(tu)
list
l1 = [111,222,333,444,555]
for i in range(len(l1)):
# i = 0 i = 1 i = 2 i = 3
print(l1)
del l1[i]
print(l1) # [222,333,444,555] [222,444,555] [222,444]
print(l1) l1 = [111,222,333,444,555] 将索引为奇数位的元素删除.
l1.pop(222)
l1.remove(1) 方法一:
l1 = [111,222,333,444,555]
l2 = []
for i in range(len(l1)):
if i % 2 == 0:
l2.append(l1[i])
l1 = l2
print(l1) 方法二:
l1 = [111,222,333,444,555]
for i in range(1,len(l1)):
if i <= 2 :
l1.pop(i)
print(l1) 方法二:
l1 = [111,222,333,444,555,666,777]
#
del l1[1::2]
print(l1)
l1 = [111,222,333,444,555]
for i in range(len(l1)-1,0,-1):
if i % 2 == 1:
del l1[i]
print(l1) 在循环一个列表时,如果要是删除某些或者某类元素,容易出错. fromkeys() dic = dict.fromkeys('abc','alex')
print(dic)
dic1 = dict.fromkeys([1,2,3],[])
print(dic1)
dic1[1].append('alex')
print(dic1) dic = {'k1':'alex','k2':'太白','k3':'日天','name':'wusir'}
不可变的数据类型:可哈希
for i in dic:
if 'k' in i:
del dic[i] l1 = []
for i in dic:
if 'k' in i:
l1.append(i)
print(l1) for k in l1:
del dic[k]
print(dic) 在循环一个字典时,如果删除某些键值对,可能会报错. 数据类型之间的转化:
int <---> str
int <---> bool
str <--->.bool
split
str <------> list
join
tuple <---> list
l1 = [1,2,3]
tu = tuple(l1)
l2 = list(tu)
print(tu,l2) dict专属类型:与list转换
dic = {'k1':'alex','k2':'太白','k3':'日天','name':'wusir'}
print(list(dic.keys()))
print(list(dic.values()))
print(list(dic.items()))
2,深浅copy.
l1 = [1,2,3,4]
l2 = l1
l1.append(5)
print(l1,l2)
对于赋值运算,就是共同指向一个内存地址. s1 = 'alex'
s2 = s1
s1 = 'alex2'
print(s1,id(s1))
print(s2,id(s2)) copy
l1 = [1,2,3]
l2 = l1.copy()
l1.append(666)
print(l1,id(l1))
print(l2,id(l2))
l1 = [1,[22,33],2,3]
l2 = l1.copy()
l1.append(666)
print(l1,id(l1))
print(l2,id(l2)) l1 = [1,[22,33,],2,3]
l2 = l1.copy()
l1[1].append(666)
print(l1,id(l1),id(l1[1]))
print(l2,id(l2),id(l2[1])) 对于浅copy来说,第一层都是独立的内存地址,从第二层开始,都是指向同一个内存地址,一变都变.
import copy l1 = [1,[22,33,],2,3]
l2 = copy.deepcopy(l1)
l1.append(777)
l1[1].append(666)
print(l1,id(l1),id(l1[1]))
print(l2,id(l2),id(l2[1]))
对于深copy,无论多少层,在内存中都是两个独立的内存地址.
l1 = [1,[1,2],2,3]
l2 = l1[:] # 是浅copy
l1[1].append(111)
print(l1,l2)
l2 是什么?
基础数据类型补充,及capy daty7的更多相关文章
- python基础数据类型补充
python_day_7 一. 今日主要内容: 1. 补充基础数据类型的相关知识点 str. join() 把列表变成字符串 列表不能再循环的时候删除. 因为索引会跟着改变 字典也不能直接循环删除.把 ...
- Python基础数据类型补充及深浅拷贝
本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷贝主要内容:一. 基础数据类型补充首先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的自己看一看就可以了.我们补充给一 ...
- python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝
1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "⻩海峰", "刘嘉玲"] s = "_&qu ...
- 基础数据类型补充 set集合 深浅拷贝
一.基础数据类型补充 1. "拼接字符串".join(可迭代对象) 可迭代对象为列表时,输出列表元素与拼接字符串的拼接 li = ['张三', '李四', '王五', '赵四'] ...
- 《Python》 基础数据类型补充和深浅copy
一.基础数据类型的补充 元组: 如果元组中只有一个数据,且没有逗号,则该‘元组’数据类型与里面的数据类型一致 列表: 列表之间可加不可减,可跟数字相乘 l1=['wang','rui'] l2=['c ...
- Python——基础数据类型(补充)
1.基础数据类型汇总补充 (1)小数据池: 为了节省空间,数字和字符串有,其他的没有[了解] 数字:-5---256之间的数字共用一个内存地址 #(1)i1 = i2 id(i1) == id ...
- python27期day07:基础数据类型补充、循环删除的坑、二次编码、作业题。
1.求最大位数bit_length: a = 10 #8421 1010print(a.bit_length())结果:42.capitalize首字母变大写: s = "alex" ...
- python基础数据类型补充以及编码的进阶
一.基本数据类型的补充循环列表改变列表大小的问题#请把列表中索引为基数的元素写出l1=[1,2,3,4,5,6]for i in l1: if i%2!=0: print(i)结果:135二:基本数据 ...
- 基础数据类型之集合和深浅copy,还有一些数据类型补充
集合 集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的.以下是集合最重要的两点: 去重,把一个列表变成集合,就自动去重了. 关系 ...
随机推荐
- webpack异步加载业务模块
虽然把我们用到的JS文件全部打包一个可以节省请求数,但如果打包后的JS文件过大,那么也容易出现白屏现象,许多操作失灵.而且一些区域是点到才出现,那么相关的JS其实可以剥离出这个大JS文件外.这就涉及到 ...
- java Overloaded的方法是否可以改变返回值的类型?
刚才看到这样一个题,下面的解释很乱,所以还是做一下试验比较好 public class Test { public static void main(String[] args){ Bae b = n ...
- 16.2 profile 显示或者隐藏页面 修改密码
我们auth在clent端有更加强大的功能 显示或者隐藏component 或者 我们可以阻止或者允许某个用户访问url
- svn的上传冲突问题
上传报错实际是 1 . 之前上传的代码与现代码不一样 2. 上传的代码中有错误 需要先拉下来,对比删除不要的,再上传 eclipse加入svn : 1.import ---从svn检出项目---创 ...
- 小程序:pages/index/index/出现脚本错误或未正确调用Page()
第一次尝试玩小程序,配置好以后报错.pages/index/index/出现脚本错误或未正确调用Page() 才发现解决的方式是:新建的文件默认是没有page()的,所以你需要在.js文件中加上Pag ...
- debug.keystare找不到的解决办法[转]
重装系统之后,丢失了debug.keystore,找了很久都没有找到,根据网上所讲的只要重新运行一个android项目;就会在avd中生成一个新的debug.keystroe,此法也没解决,索性直接重 ...
- C# 计算接口调用时长
//获取 接口的数据 Stopwatch sw = new Stopwatch();//计算耗时 sw.Start();fn1();//接口调用方法 sw.Stop();return JsonMsg. ...
- asyncio的核心概念与基本架构
https://blog.csdn.net/qq_27825451/article/details/86218230 虽然有部分运行错误,但是还是有参考价值.
- 虚拟机 安装 CentOS7
初次接触CentOS,最好是在虚拟机中安装: 因为CentOS的安装选项有很多,不理解的情况下千万不要在物理机上尝试: 不然可能出现这种情况:安装好以后,只有黑色的屏幕,只能在里面敲命令:这对于新手来 ...
- Spring-data-redis redis
什么是spring-data-redis spring-data-redis是spring-data模块的一部分,专门用来支持在spring管理项目对redis的操作,使用java操作redis最常用 ...