python 反转字典 一键多值_PYTHON -- 基础3

1.数据类型

1.int 类型 用于计算

1.1 bit_length()

转换为2进制的最小位置 有效的

i = 5

print(i.bit_length())

i

二进制

i.bit_length()

1

0000 0001

1

2

0000 0010

2

5

0000 0101

3

2.boot :布尔值 T F 用于判断

转换问题

2.1 int---str

i = 1

str(i)

没有条件

2.1.2 str---int

只能是数字转换

s = '123'  //'123w'不行//

i = str(s)

2.2 int --- bool

i = 3

b = bool(i)

PS:只要是0 就是False  非0就是True

2.2.1 bool ---int

True ---1   False---0

2.3 转换效率问题

whileTrue:pass

while 1:pass

下面的要比上面的效率高

2.4 str---bool

2.4.1

s = "" -----> False

非空字符串都是True

s = "0" -----> True

sifs:print('你输入的为空,请重新输入')else:pass

3.str类型: 存储少量数据,进行操作 !!! 有引号引起来的 “XXXX”

3.1 字符串的索引和切片

字符串 是有顺序的 有序号的

s =‘ASD456FGG’

序号  0123456789

假如要取出A   只用输出序号即可

#s1 = s[0]#print(s1)

S1 同时也是字符串 对字符串进行操作 产生的也是字符串

取出来的和原来的没有影响

3.2 切片  // 固头不过尾//

要取出ASD4

#s5 = s[0:4]#print(s5)

而不是[0:3]

3.2.1 反向取值

# s3 = s[-1]

# print(s3)

PS: 从正向取值就从0开始,反向就从 -1开始取值 但是要想全部取出来 就是s[0:-2] 因为切片是固头不固尾

3.3 取中间跳着取

s = 'ABCDLSESRF' # s[首:尾:步长]

# s10 = s[0:5:2]

PS :步长必须是等长的

反向取

# print(s10)

s11 = s[4:0:-1]

但是这样会出LDCB 不会有A 若要有A 应该:

print(s11)

s12 = s[4::-1]

PS 主要是倒着着取 开头都是-1 同时 步长的 正负代表方向

4.list:列表 存储大量的数据 [ 123,123, ] 逗号分隔为1组

5.元祖:和列表一样存储大量数据 (132,123) 但是元祖是只读列表:只能读取,不能修改!

6.dict :字典 {‘name’:‘tom’,‘age’:‘16’}储存关系的 成对的,可以对应列表 。同时字典的查询的速度非常快

7.集合:{1,2,3}只能储存数据

8.字符串的操作

8.1 字符串的首字母大写

a ='wangjiade'a1=a.capitalize()print(a1)

输出 a1 = Wangjiade

8.1.2 字符串全部大写

a ='wangjiade'a1=a.upper()print(a1)

输出 a1 = WANGJIADE

8.1.3 字符串全部小写

a ='wangjIade'a1=a.lower()print(a1)

输出a1 = wangjiade

应用实例 :输入大小写

zm = 'CAcs4'you_input=input('请输出验证码,不区分大小写')if zm.upper() ==you_input.upper():print('success')else:print('fall')

PS zm.input.lower 也可以!

8.1.4 大小写翻转

a ='JohnNoenscc'a1=a.swapcase()print(a1)

输出 a1 = jOHNnOENSCC

8.1.5 各个首字母大写

a ='john tom jerry mary'a1=a.title()print(a1)

PS 以空格个开的 中间也可以是特殊字符 !@#¥%……12

输出:John Tom Jerry Mary

8.1.6 居中

a ='jsdasdQy'a1= a.center(20)print(a1)

PS 20的开头的距离 center(中间必须打数字。‘填充物’)

8.1.7 补8个位 tab

a ='jsda\tsdQy'a1=a.expandtabs()print(a1)

jsda(四个空格 前面有四位了)sdQy

8.2 公用长度

a = 'ghfsdjafdasfq34123sad飞'l=len(a)print(l)

站位数字 中文也算

8.3 寻找以什么为开头

#以什么开头结尾 endswith#s = 'alexWUsir'#s7 =s.startswith('alex')#s71 = s.startswith('e',2,5)#print(s71)#输出 T exW

8.4 find 通过元素 输出索引 找不到返回-1

index 通过元素找所以 找不到就报错

s = 'horeismy's1= s.find('s')print(s1)

8.5 strip 默认删除前后的空格

strip(‘里面打入什么 就是删掉什么 什么都不加 就是默认删除空格’) 但是只删除前后 中间不删除

s = '*a%lexWUsi* r%'s91= s.strip('%*')print(s91)

输出为a%lexWUsi* r

PS :如果要想从左删除就是rstrip  从右删除就是lstrip

8.6 count 查询 单个字符

有就输出对应个数 没有就输出0个 可以组合查询

s = 'alexaa wusirl's10= s.count('al')print(s10)

输出为1

8.7 split 分隔切割

默认以空格为切分 split(中间写入什么就以什么来分割)

#s = ';alex;wusir;taibai'#l = s.split(';')#print(l)

PS 同时注意以什么为分隔 那么输出时候 分隔的东西会消失  比如上面的;输出来就没有了

8.8format 格式化输出 和%s一样

#s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('TOM',22,'girl','tom')#print(s)#name = input('请输入名字:')#s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,36,'girl')#print(s)#name = input('请输入名字:')#s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='girl')#print(s)

PS 注意要按照顺序  {}=%s的%

8.9 字符的替换 replace

s = '我喜欢隔壁的大哥,隔壁的大哥也喜欢我's11= s.replace('大哥','老王',2)print(s11)

最后的数字是 替换的次数

8.10 is

name = 'jijiji888'

print(name.isalnum())#数字和字母

print(name.isalpha())#只能有字母

print(name.isdigit())#只能有数字

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值