python_0基础开始_day07,
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,[]) * 3
print(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",[]) # 给批量这个赋值给dic
print(dic)
# {"a":[],"b":[],"c":[]}"a":[],"b":[],"c":[]}
dic["b"] = 11
dic["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] = lst
print(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(编码格式) —— 编码
-
注意,用什么编码就要用什么解码,网络传输一定是字节
python2,ascii
相关内容
- 暂无相关文章
评论关闭