列表----list
列表:中括号,每个元素用‘,’分割,列表里面也可以嵌套列表,列表里面可以包含数字,字符串,布尔值等,也就是元素的集合
例:test = [2,4,'sun','yao']
1 #索引下标取值 2 test = [2 , 32 , 'yao',[23,'jing'],'fang'] 3 print(test[3]) 4 print(test[3:-1]) 5 # 输出内容[23, 'jing'] 6 # [[23, 'jing']]
(1)列表的值是可以修改
#修改值 test = [2 , 32 , 'yao',[23,'jing'],'fang'] test[4] = 'xian' print(test) # 输出内容[2, 32, 'yao', [23, 'jing'], 'xian']
test = [2 , 32 , 'yao',[23,'jing'],'fang'] test[0:3] = [520,1314] print(test) # [520, 1314, [23, 'jing'], 'fang']
(2)列表可删除
#删除值 test = [2 , 32 , 'yao',[23,'jing'],'fang'] del test[1] print(test) # [2, 'yao', [23, 'jing'], 'fang']
(3)列表取值
#取值 test = [2 , 32 , 'yao',[23,'jing'],'fang'] a = test[3][0] print(a) # 23
(4)字符串转换成列表
list(test) , 数字不能转换成列表
如果只有字符串没有数字的话
列表直接转换字符串
#列表转换成字符串 test = [2 , 32 , 'yao',[23,'jing'],'fang'] a = ' ' for i in test: a = a + str(i) print(a) # 232yao[23, 'jing']fang
没有数字只有字符串可以用 ‘’.join(test)转换
(5)列表的功能:
# 根据当前值,找出索引位置 test = [2 , 23 , 'yao',[23,'jing'],'fang',2] a = test.index('fang') print(a) # 输出 4 # 列表指定位置插入新值 test = [2 , 23 , 'yao',[23,'jing'],'fang',2] test.insert(0,'fang') print(test) # 输出 ['fang', 2, 23, 'yao', [23, 'jing'], 'fang', 2] # 删除值,并获取,默认删除最后一个值 test = [2 , 23 , 'yao',[23,'jing'],'fang',2] a = test.pop(2) print(test,a) # 输出[2, 23, [23, 'jing'], 'fang', 2] yao # 指定删除值(从左开始) test = [2 , 23 , 'yao',[23,'jing'],'fang',2] test.remove(2) print(test) # [23, 'yao', [23, 'jing'], 'fang', 2] # del pos remove clear # 翻转当前值 test = [2 , 23 , 'yao',[23,'jing'],'fang',2] test.reverse() print(test) #输出[2, 'fang', [23, 'jing'], 'yao', 23, 2] # 排序当前值 ,默认小到达 test = [5,3,5,8,9,6,1,2] test.sort(reverse = True) print(test) #输出[9, 8, 6, 5, 5, 3, 2, 1]
元组 ---tuple
例:test('sun',123,['sun',43],True,)
元组的 一级元素不可杯修改,不能增加删除 ,元组是有序的
小记 :写代码的是偶,在元组后面加个‘,’ 好区分
# 列表转换元组 test = (12,84,2,'yao',) test1 = 'sunchao' test2 = [12,45,'sunchao'] a = tuple(test2) print(a) #输出(12, 45, 'sunchao')
#count(22) 可以查看重复值的次数
#.index(82) 获取索引位置
字典 --- dict
例:test = {'k1':'sunchao','k2':'fangdi'} #键值对 kye value
字典是无序的。字典的value 可以是任意值,但是,字典的kye 不能是,列表,字典。布尔值<只会显示(1,0)>
重要命令:keys(), values() ,item() ,get,update,
# 列表检索 test = {'k1':'sunchao','k2':'fangdi'} v = test['k2'] print(v) #输出:fangdi
# 删除 test = {'k1':'sunchao','k2':'fangdi'} del test['k2'] print(test) #输出:{'k1': 'sunchao'} # for 循环 默认取 key test = {'k1':'sunchao','k2':'fangdi'} for i in test.values(): print(i) #输出k1,ke2 # 如果加.values 输出sunchao fangdi #同时获取 key 和values for a in test.items(): print(a) # 输出:('k1', 'sunchao') # ('k2', 'fangdi')
#根据序列,创建字典并且指定统一的值 v = dict.fromkeys('k1',123) print(v) #输出:{'k': 123, '1': 123} #取值正确的key正常输出,如果错误,显示None test = {'k1':'sunchao','k2':'fangdi',2:234} v = test.get('k12') print(v) #输出:None #删除值,并获取 test = {'k1':'sunchao','k2':'fangdi',2:234} v = test.pop('k1') print(test,v) #输出:{'k2': 'fangdi', 2: 234} sunchao v1 = test.popitem()#随机删除 print(v1) #如果参数存在,只获取值 #若不存在,设置值,并获取当前KEY的值 test = {'k1':'sunchao','k2':'fangdi',2:234} v = test.setdefault('k3','jingyao') print(test,v) #输出:{'k1': 'sunchao', 'k2': 'fangdi', 2: 234, 'k3': 'jingyao'} jingyao #如果key存在,更新, #如果不存在,添加新key及值 test = {'k1':'sunchao','k2':'fangdi',2:234} #test.update({'k1':'fangdi','32':'jingyao'}) test.update(k1 = 123,k6 = 'jingyao') print(test) #输出:{'k1': 'sunchao', 'k2': 'fangdi', 2: 234, 'k3': 'jingyao'} jingyao #输出{'k1': 123, 'k2': 'fangdi', 2: 234, 'k6': 'jingyao'}
转换
1 #元组,和列表转换成字符串,不能直接转换。 2 v = ('sun','jin','chao') 3 var = ''.join(v) 4 print(var,type(var)) 5 #输出sunjinchao <class 'str'>