python基础003
1. list
1.1 基础
list是一组有序的集合序列,可以包含任何类型且不必相同,并支持嵌套。采用如下创建方式:
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。1 li = ["spam",2.0,5,[10,20]]
列表支持索引、切片,组合
1 v2= li[1] # 索引 2 v2= li[0:2] #切片 3 4 a = [1,2,3] #合并 5 b = [3,4,5] 6 c = a + b 7 8 —》c = [1,2,3,3,4,5] 9 # 多列表合并成新列表,新列表含有原列表所有元素(包括重复的)
列表是可变类型,可以再赋值
1 li[2] = 6
列表是可迭代类型,可以for循环遍历
1 for item in li: 2 print(item) 3 # 上述的循环仅仅是读取元素,若要读取并改写元素则需索引 4 5 for i in range(len(li)): 6 li[i = li[i] * 2
1.2 方法
1 #!/usr/bin/env python 2 # -*- coding:utf8 -*- 3 4 li = [1,"age",["是正文“,["19","10"]],True] 5 6 # 在原有的列表基础上追加,list是可变类型,无需赋值 7 li.append(5) 8 9 # 清空列表 10 li.clear 11 12 # 拷贝,浅拷贝,改变拷贝后的列表对原列表无影响 13 v = li.copy() 14 15 # 计算元素出现的次数 16 v = li.count(7) 17 18 # 传入可迭代对象,扩展原列表 19 v = li.extend([11,"sasdqsw"]) 20 v = li.ectend("cwd") 21 22 # 指定索引位置插值 23 li.insert(0,99) 24 25 # 根据索引删除元素,并获取被删除元素,默认删除最后一个,索引超出范围报错 26 v = li.pop(2) 27 print(v) 28 print(li) 29 30 # 根据指定值删除元素(左侧优先),没有该元素报错 31 li.remove(99) 32 33 # 将当前列表反转 34 li.reverse() 35 36 # 排序,跨类型无法排序 37 li.sort()
2. tuple
2.1 基础
元组是一组有序集合,可包含任何类型,支持嵌套;元组定义时在最后元素后加上一个逗号
1 tu = (1,2,[333,"dd"],"sss",)
元组支持索引,切片。
元组是不可变类型,一级元素不可被修改,不可被增加或删除,但是一级元素是可变类型,则该元素内部可修改。
元组是可迭代类型,支持for循环遍历。
字符串可以转换为列表、元组,列表、元组可以相互转换。对于包含相同类型的列表或元组,通过.join()方法转换为字符串
1 s = "dscnkwe" 2 3 li = list(s) 4 tu = tuple(s) 5 6 tu = tuple(li) 7 li = list(tu) 8 9 s = "".join(li) 10 s = "".join(tu)
2.2 方法
1 #!/usr/bin/env python 2 # -*- coding:utf8 -*- 3 4 # .count() 获取指定元素的个数 5 v = tu.count(3) 6 7 # .index() 获取指定元素的索引 8 v = tu.index(3)
3. dict
3.1 基础
字典时无序的键值对组合,字典Value可以是任何类型,key必须是不可变类型(整型,布尔值,字符串,元组),列表和字典不能作为字典的key。
1 info = { 2 1:18, 3 "k2":True, 4 False:[ 5 11, 6 22, 7 33, 8 { 9 "kk1":"vv1", 10 "kk2":"vv2", 11 "kk3":(11,22,) 12 } 13 ], 14 ("qq",):(11,22,33,44,) 15 }
通过key找到某一元素
v = info[False][3]["kk3"][0]
删除某一元素
1 del info["k2"]
3.2 方法
1 #!/usr/bin/env python 2 # -*- coding:utf8 -*- 3 4 # for 循环遍历,默认循环key 5 for item in info: 6 7 # 使用.value()方法循环遍历value 8 for item in info.values(): 9 10 # 使用.items()方法循环遍历键值对 11 for item in info.items(): #获取键值对的元组型表示 12 for k,v in info.items(): #获取键值对 13 14 # 根据传入的key获取value,value不存在,可以指定返回值,默认是None 15 v = info.get("k2",-1) 16 17 # 根据key设置值;key存在,不设置,获取当前key对应的value;key不存在,设置,获取设置值 18 v = info.setdefault("3333",123) 19 20 # 清空字典 21 info.clear() 22 23 # 浅拷贝 24 info.copy() 25 26 # 静态方法,第一个参数传入可迭代序列,根据序列创建字典的key,并指定统一的值 27 info = dict.fromkeys((1,2,3),123) 28 29 # .pop()指定key删除并获取value,.popitem()随机删除并获取键值对 30 v = info.pop("k2") 31 k,v = info.popitem() 32 33 # 更新,传入字典;key存在就更新,不存在就加上 34 info.update({1:19,"jjw":"xmx"}) 35 print(info)

更多精彩