python基础04/基础数据类型补充/以后会遇到的坑/二次编码

python基础04

内容大纲

  1. 基础数据类型补充
  2. 以后会遇到的坑
  3. 二次编码

1.基础数据类型补充

1.1 字符串(str)

str: 不可变
1.1 首字母大写:
# name = "alex"
# name1 = name.capitalize()
# print(name1)

1.2 每个单词首字母大写
# name = "alex wusir"
# print(name.title())

1.3 大小写反转
# name = "Alex"
# print(name.swapcase())

1.4 居中 -- 填充
# name = "alex"
# print(name.center(20,"-"))   #总共20个位置,将name放在中间

1.5 查找 从左向右 只查找一个
# name = "alelx"
# print(name.find("b"))  #find查找不存在的返回-1
# print(name.index("b"))   #index查找不存在的就报错

1.6 拼接
# name = "al3x"
# print("_".join(name))  ***

1.7 格式化
# 1.%s
# 2.f
# 3.name.format()
# name = "alex{},{},{}"
# print(name.format(1,2,3)) # 按照顺序位置进行填充
# name = "alex{2},{0},{1}"
# print(name.format("a","b","c")) # 按照索引值进行填充
# name = "alex{a},{b},{c}"
# print(name.format(a=1,c=11,b=67)) # 按照关键字进行填充

 + * 开辟新的空间

# name = "alex"
# name1 = "wusir"
# print(id(name))
# print(id(name1))
# print(id(name + name1))

1.2 列表(list)

list:
定义方式:
  # list("123")
其他方法:

 排序 (升序)
# lst = [1,2,23,234,435,36,23,213421,421,4231,534,65]
# lst.sort()
# print(lst)

排序 (默认升序)
# lst = ["你好","我好"] #根据对应字节对应的大小进行排序
# lst.sort()
# print(lst)

降序
# lst.sort(reverse=True)
# print(lst)

反转
# lst = [1,2,3,4453,5,6,7]
# print(lst[::-1])
# lst.reverse()
# print(lst)

# lst = [1,2,3,4,5123,21345,231123,4,1235,234,123]
# lst.sort()
# lst.reverse()
# print(lst)

面试题:
# lst = [[]]
# new_lst = lst * 5
# new_lst[0].append(10)
# print(new_lst)

# lst = [1,[]]
# new_lst = lst * 5
# new_lst[0] = 10
# print(new_lst)

# lst = [1,[]]
# new_lst = lst * 5
# new_lst[1] = 10
# print(new_lst)

将一个列表添加到另一个列表中
方式一:
# lst.extend(lst1)
# print(lst)
方式二:
# print(lst+lst1)
# new_lst = lst * 5
# print(id(new_lst[0]), id(new_lst[0]))

# lst = [[]]
# new_lst = lst * 5
# new_lst[0].append(10)
# print(new_lst)

1.3 元组(tuple)

tuple:
# tu = ("12")  # 数据类型是()中数据本身
# print(type(tu))

# tu = (1,)   # (1,)是元组
# print(type(tu))

# 元组 + * 不可变共用,可变也共用

1.4 字典(dict)

dict:
# 定义一个字典:
# print(dict(k=1,k1=2))

随机删除: popitem
# dic = {"key":1,"key2":2,"key3":56}
# print(dic.popitem())  # 返回的是被删除的键值对(键,值)
# print(dic)
# python36 默认删除最后一个

 dic = {}
 dic.fromkeys("123",[23]) # 批量添加键值对{"1":[23],"2":[23],"3":[23]}
 print(dic)
 结果:{}     注意:必须给dic.fromkeys("123",[23])重新赋值

# dic = dict.fromkeys("123456789",1) # 批量添加键值对"键是可迭代对象",值 -- 会被共用
# dic["1"] = 18
# print(dic)

1.5 集合(set)

set:
    # set() -- 空集合
    # {} -- 空字典
    # 定义集合:
    # set("alex")  # 迭代添加的
# print(set("alex"))

1.6 布尔值(bool)

bool: False
# 数字: 0
# 字符串: ""
# 列表:[]
# 元组:()
# 字典:{}
# 集合: set()
# 其他: None
# a = None
# print(bool(a))

1.7 数据类型之间的转换

# list  tuple
# tuple list
# str list
# name = "alex"  print(name.split())
# list str
# lst = ["1","2","3"] # print(''.join(lst))
# dict -- str
dic = {"1":2}
# print(str(dic),type(str(dic)))
# print(dict("{1:1}"))    错误的   通过分割来进行转换

# set - list
# list - set

1.8 Python的数据类型整理

python数据类型:
# 可变:
# list ,dict ,set
# 不可变:
# int bool str tuple
# 有序:
# list,tuple,str,int,bool
# 无序:
# dict,set
# 取值方式:
# 索引: str list tuple
# 直接: set ,int ,bool
#   键: dict 

2.以后会遇到的坑

2.1 删除列表的坑

# lst = [1,2]
# for i in lst:
#     lst.append(3)
# print(lst)  # 死循环

删除列表的坑
# lst = [1,2,3,4]   (错误)
# for i in lst:
#     lst.pop()
# print(lst)

# lst = [1,2,3,4]   (错误)
# for i in lst:
#     lst.pop(0)
# print(lst)

# lst = [1,2,3,4]   (错误)
# for i in lst:
#     lst.remove(i)
# print(lst)

成功删除的方式:
# lst = [1,2,3,4,6]
# for i in range(len(lst)):
#     lst.pop()
# print(lst)

# lst = [1,2,3,4,6]
# for i in range(len(lst)-1,-1,-1):
#     del lst[i]
# print(lst)

# lst = [1,2,3,4,6]
# for i in range(len(lst)):
#     del lst[-1]
# print(lst)

# lst = [1,2,3,4,5,6]
# lst1 = lst.copy()
# for i in lst1:
#     lst.remove(i)
# print(lst)

2.2 删除字典的坑

删除字典的坑

# dic = dict.fromkeys("12345",1)  # 字典的迭代的时候改变了原来的大小(不能加不能删)
# for i in dic:
#     dic[i] = "123"
# print(dic)

# dic = dict.fromkeys("12345",1)
# dic1 = dic.copy()
# for i in dic1:
#     dic.pop(i)
# print(dic)

# 集合和字典都是迭代的时候不能改变原来的大小

3.二次编码

密码本:
# ascii  -- 没有中文
# gbk    -- 英文 8b(位) 1B(字节) 中文 16b 2B
# unicode -- 英文16b 2B  中文32b 4B
# utf-8 --   英文8b 1B  欧洲16b 2B  亚洲24b 3B

name = "你好啊"
s1 = name.encode("utf-8") # 编码  9
print(s1)
# s2 = name.encode("gbk") # 编码  6
# s2 = s1.decode("utf-8") # 解码
# print(s2.encode("gbk"))

以什么编码集(密码本)进行编码就要用什么编码集(密码本)解码

4. 今日总结

1. 编码解码
# 编码:将文字转换成字节形式  encode
# 解码:将字节转换成文字形式  decode

2.基础数据类型补充:
 str:
    # 首字母大写
    # 每个单词首字母大写
    # 大小写反转
    # 居中 -- 填充
    # 查找:find index
    # 拼接
    # 格式化: name.format
 list:
    # 排序(默认是升序) 降序sort(reverse=True)
    # 反转
    # 查找 index
    # 统计 count
    # + * 元素都是共用的

    # 面试题:
 tuple:
    # (1,)# 元组
    # (1) # 括号里数据本身
    # + *
 dict:
    # popitem
    # fromkeys("可迭代的键",共用的值)   -- 坑
    # dict(key = 1,key2 =2)
 set:
    # set() -- 空集合
    # set("alex") # 迭代添加
 3.坑

    # 列表删除  -- 从后向前删除
    # 创建一个新的列表,删除旧的列表

    # 字典删除  -- 循环的时候不能改变源数据的大小 (可以改变值)
    # 创建一个新的字典,删除旧的字典

    # 集合删除  -- 循环的时候不能改变源数据的大小

类型转换:
    # list -- str  join
    # str -- list  split

原文地址:https://www.cnblogs.com/liubing8/p/11183796.html

时间: 2025-01-08 05:08:46

python基础04/基础数据类型补充/以后会遇到的坑/二次编码的相关文章

Python 语法基础(3)_数据类型补充

一.列表 关键字list 写法格式 list_name=[] 列表方法(增加) lst=['窗前明月光','举头望明月','低头思故乡'] lst.append('疑是地上')#追加 这个是在末尾加一个 print(lst) lst.insert(1,'疑是地上霜')#插入 下标的前面 print(lst) lst.extend('今天是新的一年')#扩展 ----迭代添加 意思就是分开了 print(lst) 列表方法(删除) lst=['窗前明月光','疑是地上霜','举头望明月','低头思

Python之路【第三篇】python基础 之基本数据类型 补充

字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing '%' string formatting operator

python学习04-数据类型(元组、字典、集合)

一.基本数据类型--元组   元组:是一种与列表非常相似的数据类型.但是它一旦创建便不能再修改,所以又叫只读列表. 定义:与列表类似,只不过[]改成() 特性: 可存放多个值(可以存放复杂数据类型) 不可变(显式地告诉别人此处数据不可修改,常用于数据库连接配置信息等) 按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序 元组本身不可变,如果元组中还包含其它可变元素,这些可变元素可以改变.(比如列表等) 元组常用操作 创建 ages = (11, 22, 33, 44, 55) #或 ag

python.day.04——常用数据类型(一):str&List

一.常用字符串操作 upper(x)把字母变成大写 lower(x)把字母变成小写 str_1="hello,python,lower,'666','777'" #upper()把字母编程大写 #lower()把字母变成小写 print(str_1.upper()) print(str_1.lower()) split(str,num)  对字符串进行切割,返回一个列表:str-分隔符,默认为所有的空字符,包括空格,换行(\n),制表符(\t)等:num -- 分割次数 str_1 =

python基础之数据类型补充(基础五)

第七章 python基础之数据类型补充(基础五) 7.1 数据类型补充 字符串str,整型int,列表list,元组tuple,字典dict. 7.1.1 字符串str类型补充 s1 = str(123) #类型字符串 s.capitalize() 首字母大写 s = "alex wusir" s1 = s.capitalize() #首字母大写:Alex wusir print(s1) s.title() 每个单词首字母大写 s = "alex wusir" s1

python基础数据类型补充以及编码的进阶

一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住. #captalize :首字母大写 #swapcase :大小写翻转 #title :每个单词的首字母大写 #center :内同居中,总长度,空白处填充 #寻找字符串中的元素是否存在 #find :返回的找到的元素的索引,如果找不到返回-1 #index :返回的找到的元素的索引,找不到报错. #captalize

python基础(9):基本数据类型四(set集合)、基础数据类型补充、深浅拷贝

1. 基础数据类型补充 li = ["李嘉诚", "麻花藤", "?海峰", "刘嘉玲"] s = "_".join(li) print(s) li = "?花?闺?" s = "_".join(li) print(s) 列表: 循环删除列表中的每?个元素 li = [11, 22, 33, 44] for e in li: li.remove(e) print(li

七. 基础数据类型补充内容

一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住. #captalize,swapcase,title print(name.capitalize()) #首字母大写 print(name.swapcase()) #大小写翻转 msg='taibai say hi' print(msg.title()) #每个单词的首字母大写 # 内同居中,总长度,空白处填充 ret

python基础04 运算

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python的运算符和其他语言类似 (我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍) 数学运算 >>>print 1+9        # 加法 >>>print 1.3-4      # 减法 >>>print 3*5        # 乘法 >>>print 4.5/1.5