字符串str
s = "aa111aa"
print(s.capitalize()) # 首字母大写,只有第一个字母大写
print(s.title()) # 每个单词首字母大写,单词中间用特殊字符或中文隔开
print(s.count("a")) # 统计"a"出现的次数
print(s.swapcase()) # 大小写转换
print(s.find("a")) # 查找"a"的第一个索引,查找不到的时候返回-1
print(s.index("a")) # 查找"a"的第一个索引,查找不到的时候报错
列表list
li = [1,2,3,4]
l2 = list("1234") # 定义的一种方式
print(li.count(1)) # 统计1出现的次数
print(li.index(1)) # 查找1的第一个索引,查找不到就报错
li.reverse() # 原地反转
li.sort(reverse=True) # 排序,默认升序,加True就降序
元组tuple
tu = (1,2,3,4,5)
tu1 = tuple("12345") # 定义的一种方式
tu.count(1) # 统计
tu.index(1) # 通过元素找索引,找不到就报错
字典dict
dic = {1:"a",2:"b"}
dic1 = dict(k=1,k1=2) # 定义的一种方式
dic.popitem() # 随机删除,返回删除的值,3.6版本后默认删除最后一个键值对
dic2 = dict.fromkeys("123",1) # 批量创建字典,迭代key,value相同,指向同一内存地址
结合set
s = set("1234") # 定义的一种方式
类型转换
str => int :字符串中必须全部都是十进制的数字
int => str :直接转换
str => list :
s = "1234"
lst = list(s) => ["1","2","3","4"]
或用split()切割
list => str :使用join进行拼接,元素中不能有int
list => tuple :直接转换
set => list :直接转换
总结:
字符串 -- 数字 :字符串中必须都是十进制的数字
数字 -- 字符串 :直接转换
列表 -- 字符串 :join()拼接--可迭代的对象中不能出现数字
字符串 -- 列表 :split()分割
除字典外,容器数据类型都能直接相互转换
总结
有序: str,int,bool,list,tuple
无序: dict,set
可变: list,dict,set
不可变: str,int,bool,tuple
访问方式:
直接访问: int,bool,set
顺序访问:str,list,tuple
键访问: dict
li = [1,2,3,4,5]
# 面试题:要求用一个for循环对删除上述列表索引为奇数位置的元素
for el in range(len(li)-1,-1,-1):
if el % 2 == 1:
li.pop(el)
print(li)
# 尽量不要在for循环遍历列表的同时修改列表本身的大小
# for循环迭代字典过程中改变字典的大小会报错
原文:https://www.cnblogs.com/douzi-m/p/11904709.html