基础知识之列表:
列表用 [ ]来定义是可变的,可以通过索引值来去查询里面的字段可以可以追加,删除。
常用用法如下
names = [‘zhang‘, ‘zhuang‘, [‘alx‘, ‘bob‘], ‘chen‘, ‘qiang‘] print(len(names)) # 获取列表长度 print("aaffaa".count("a")) # 获取a在字符串出现的次数 print(names[1:3]) # 切片 print(names[-1]) # 获取最后一个元素 print(names[-2:]) # names.append(‘qianqq‘) #追加模式 names.insert(1, ‘chengrouhua‘) # 插入 names.insert(3, "xinzhiyu") names[2] = "ixnixn" # 修改 names.remove("qiang") # del names[0] # names.pop(0) 删除元素 并返回删除的元素的值 del names[2:4] # 切片删除 for i in names: print(i) # 循环遍历列表 for i in range(1, 10, 2): print(i) #每隔2位数打印 print(names[::2]) # 隔行筛选 print(‘zhuang‘ in names) #判断字段是否在列表里 names2 = names.copy() #浅浅的copy print(dir(names)) #获取列表所支持的方法 # #分割 # s = ‘hello world‘ # s.split(‘ ‘) # [‘hello‘, ‘world‘] # s2= ‘hello,world‘ # s2.split(‘,‘) # # #连接 # l = [‘hi‘,‘eva‘] # ‘!‘.join(l) # ‘hi!eva‘
2.元祖,是一种不可 变得列表形式,一旦定义则不可以改变,一般用于数据库的连接,绑定 IP跟端口使用。
元祖特性:
1.不可变,定义元祖 的时候如果只有一个元素这样必须在元祖后面加逗号加以区分。注:元祖内部如果有列表等可变元素则可以修改
2.只有查询功能。通过索引值查询内部数据。
3.字典:通过key:value 的形式来定义入{k1:v1} 这种形式来创建,是可变的数据类型
字典可以增删改查方法如下:
info={ # ‘stu1101‘:"wu teng lang", # ‘stu1102‘:"cang", # ‘stu1103‘:"xiaoze", # ‘stu1104‘:"bo jie" # } # # b={1:2,3:4} # # # # print(info[‘stu1101‘]) #查看字典stu1101 的键对应的value # # info[‘stu1101‘]=‘mmmmm‘ #如果字典有这个key值则修改,没有则添加 # # info[‘stu1105‘]=‘sssss‘ # # info.setdefault(‘stu1101‘,‘alxe‘) #如果key的值 在字典里则修改,没有则添加 # # info.update(b)# 在info字典后面追加B字典的字段,如果重复的更新跟字段。 # # print(info) # # info.pop(‘stu1105‘) #通过key的值来删除字典的对应的值 pop方法有返回值,返回删除元素的value值 # # # # print(info.get(‘stu1106‘)) # 这是一种通过key来获取值得方式这样不会报错,没有则返回None # # print(‘stu1104‘ in info) #判断key的值在不在字典中 通过key的值来判断 。 # # print(info.keys())#返回所有的key #打印所有字典key的 值 # # print(info.values())#返回字典所有的value值 # # print(info.items())# 返回元祖 把key跟value 组成元祖 # # for k in info:# k是info 的key 遍历字典key的值打印 # # print(k,info[k])
集合:一个或者 多个元素构成的整体叫做集合
集合的特性:
1.天然去重
2.集合内部元素是无序的
3.通过运算可以取出两个集合的符合条件的元素类型组成一个新的集合
常见的集合运算如下:
b={1,2,3,4,5,5,5,6} #互异性天然去重的原则 # c={2,3,4,8,9,10,56,45} # info={ # ‘stu1101‘:"wu teng lang", # ‘stu1102‘:"cang", # ‘stu1103‘:"xiaoze", # ‘stu1104‘:"bo jie" # } # # #print(b-c) #意思就是拿b中的每一个元素去减c中的元素,得到不同的一个集合。 # # print(b|c) #并集两个集合的合并 # # print(b^c) #两个集合中不是共同部分的元素取出来 # # d=set(info) #设置集合 字典是key的值 # # print(d) # # b.add(90) #增加元素 # # b.remove(90) #删除元素 如果没有元素则报错 # # b.discard(4) #删除元素 没有则不报错 # # print(b) # # # b.pop() #删除元素(任意) # # print(b)
字符的一些操作姿势如下
# name=‘aaalcx lill‘ # print(name.index("l")) # print(name.count("l"))# 统计字符串某个字符串的数量 # print(name.capitalize())#首字母大写 # print(name.center(50,‘*‘))#把name放在中间 50 个字符 # print(name.replace(‘l‘,‘L‘,4))#代替 三个参数 # print("123".isdigit())#判断是否是整数 # print("aaaooolll".endswith(‘ll‘)) # msg = "my name is {}, and age is {}" # print(msg.partition(‘is‘))#is 中间分成元祖 # print(msg.format("zj","25")) # name.join("cx") # print(name.join("cxb"))# 对数字进行操作 ‘‘‘ name=‘abcd lill‘ name1="abc \tlill" # name.strip()#变成字符串 # name.title()#变成标题 # print(name.rsplit()) print(name.capitalize())#首字母大写 print(name.count("a"))# 统计字符 print(name.center(50,"*"))#一共 打印50字符 不够用*补上,把name放中间 print(name.endswith("ll"))# 判断字符串结尾 print(name1.expandtabs(30)) print(name.find("li"))# 查找 索引!字符串可以切片 name3="my name is {name} and age is {age}" print(name3.format(name="alix",age="22")) print(name3.format_map({"name":"alex","age":"29"})) print(name3.index("y")) print(name.isalnum())# 是不是阿拉伯数字 print(name.isalpha())#判断纯粹的英文字符 print(name.isdecimal())#判断十进制 print(name.isdigit())# 判断是否整数 print(name.isidentifier())#判断是不是合法的标识符(变量名) print(name.islower())# 判断是小写! print(name.isnumeric())#判断是否是数字!!仅仅是数字 返回True print(name.isspace()) print(name.istitle()) print(name.isprintable())# 是否可打印!在tty文件设备终端文件 print(name.isupper())# 全是大写 print("*****") print("|".join(["1","2","3","4"])) # 列表 里面的字符串 变成 字符串 print("*****") print(name.ljust(50,"-"))# 后面 补足* print(name.rjust(50,‘-‘)) print(name.lower())# 大写变成小写 print(name.upper()) print("\nAlex\n".lstrip())#左边去空格或者回车 print("\nAlex\n".rstrip())#右边边去空格或者回车 print(name.strip())#两边都去空格 print("funny keys\n") v=str.maketrans("abcdef","123456") # 数字对应! print("Alex li".translate(v)) print("alex l".replace(‘l‘,‘L‘,1)) print("alex li".rfind("l"))#找到最右边的的l 并返回 print(name.split()) # 安照 空格 分成列表 print(name.split(‘a‘)) # 安照 a 分成列表 print(name.splitlines()) # 按照换行 分 linux window print(name.startswith(‘a‘)) print(name.swapcase()) #大小写转换 print(name.title())# 变标题 print("alex li ".zfill(50))# 50 个不够在前面补0 ‘‘‘ print(" name aaa ".split()) name=‘aa aaaa‘ print(name.isalpha()) # 判断是不是字母! print(len(‘你好‘.encode()))