s7day8
数据类型:
# 将列列表 li = ["alex", "seven"] 转换成字典且字典的key按照 10 开始向后递增
li = ["alex", "seven"]
dic = {}
start = 10
for i in li:
dic[start] = i
start += 1
print(dic)
总结:字典中在进行对value进行更换时,完全可以把key当做value元素的代表,若字典中含有需要添加
的key的时候,那么就会对key对应的value进行更新;若没有时就会增加一组键值对。ps:字典的键值对是无序的。
bytes:
a = "alex".encode('gbk')
for i in a:
print(bin(i))
#是用gbk表示alex的二进制编码
name = "男孩"
name_bytes = name.encode("utf-8")
print(name_bytes) #b'\xe6\xb5\xb7\xe5\xa8\x87'把字符串转换成字节
#用utf-8写出"男孩"的字节。其中3个字节作为一个汉字的表示方式。
for i in name_bytes:
print(bin(i))用bin()包裹下i可以得到name_bytes的2进制代码
['0b11100110', '0b10110101', '0b10110111', '0b11100101', '0b10101000', '0b10000111']
name = 'alEx'
# # 英文+包含小语种
# result = name.casefold()
# print(result)
只能做英文
# result = name.lower()
# print(result)
.casefold小语种的小写包含英文
.lower只能做英语的小学
name = "小熊"
val = name.center(20,"*")
#*********男孩*********
占用20个字符,字符串在字符中心。
val = name.ljust(20,'*')
print(val)
小熊******************
占用20个字符,字符串在左侧。
# val = name.rjust(20,'*')
# print(val)
******************小熊
占用20个字符,字符串在右侧。
val = name.count('al')
print(val)查看字符串有多少个含有“al”的
val = name.count('al',0,4)
print(val)可以加上范围(0,4)
name = "我是还叫个,我\n阿萨德\n发射\n点发222222\n33323232"
\n,换行符
name = "dasdasdas"
val = name.find("ds")
print(val)
若能找到ds,结果输出为1,找不到为-1.
format - 4种:
name = "我叫{0},年龄{1}"
val = name.format("小熊",18)
#我叫小熊,年龄18.
#字符串直接带入
name = "我叫{0},年龄{1}-{0}-{0}"
val = name.format(*['海角',45])
print(val)
#列表需要用*连接带入
name = "我叫{name},年龄{age}"
val = name.format(name ="小熊",name=18)
name ="我叫{name},年龄{age}"
dic = {"name":"海角",“age”:“年龄”}
val = name.format(**dic)
字典带入需要**
name = "我叫{name},年龄{age}"
val = name.format({name :"小熊",name:18})
也可以直接带入字典
小知识点:
制作9*9乘法表:
#1*1
#1*2 2*2
#1*3 2*3 3*3
#1*4 2*4 3*4 4*4
解法一:
for i in range(1,10):
for j in range(1,i+1):
print(j ‘*’i‘=’j*i,end = ‘ ’)
print()
#利用end = ' '来控制循环的输出结果用空格连在同一行,加一个空print()是在每一次i循环结束时进行转行。
解法二:
for i in range(1,10):
for j in range(1,i+1):
if i == j:
print(j ‘*’i‘=’j*i,end = ‘\n’)
else:
print(j ‘*’i‘=’j*i)
#利用end = '\n'来控制循环的输出结果跳行

浙公网安备 33010602011771号