day6笔记
一、上节回顾
list:li = [1,2,3,5,'a']
增加:append:末尾加入==追加
insert:插入,在任意位置,insert(index,'内容')
extend:迭代着加入,'asc' ----> ‘a’,‘s’,‘c’ [1,2,3] ---->1,2,3
删除:pop 按索引删除,有返回值
remove:按元素删除
del:del li[0] del li[1:4] del li
clear:清空
改:li[0] = 'fdfgdg' li[1:3] = 'abcd' li = [1,a,b,c,d,5,'a']
查询:按索引,切片,for while等都可以查出。
方法:count 没有切片
sort:从小到大,正序,sort(reverse = True)倒叙排序
reverse:反转
index:找出元素的索引位置 可以切片
li = [1,2,[3,4,'taibai','a'],3,5,'a']
li[2][2]=li[2][2].captize
2,:元祖。只读,不能更改,儿子不能改,孙子可以改。
可以切片。
3,:range(4,12) = [4,5,。。。。11] 生成指定数字范围的生成器
二、作业收藏:
4,请用代码实现:
li = [‘alex’,’eric’,’rain]
利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
'''
#format
方法一:
li = ['alex','eric','rain']
# info = '{}_{}_{}'.format(li[0],li[1],li[2])
# print(info)
方法二:
# li = ['alex','eric','rain']
# msg = ""
# is_first = True
# for item in li:
# if is_first:
# msg = item
# is_first =False
# else:
# msg += "_" + item
# print(msg)
方法三:
# li = ['alex','eric','rain']
# sb=''
# for i in li[1:]:
# sb+='_'+i
# print(sb.lstrip('_'))
方法四: join
# li = ['alex','eric','rain']
# str(li)
# temp = ''.join(li)
# print(temp)
#将str ---> list split
#将list ---> str join
# s = 'alex'
# temp = '*'.join(s) # 可迭代对象
# print(temp)
# li = [1,2]
# li = str(li)
# print(li[1],type(li[1]))
'''
5,查找列表li中的元素,移除每个元素的空格,
并找出以’A’或者’a’开头,并以’c’结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
li = [‘taibai ’,’alexC’,’AbC ’,’egon’,’ Ritian’,’ Wusir’,’ aqc’]
'''
:
# li = [' taibai ','alexC','AbC ','egon',' Ritian',' Wusir',' aqc']
# l1 = []
# for i in li:
# j = i.strip()
# # if j[0].upper() == 'A' and j[-1] == 'c':
# if j.startswith('A') and j[-1] == 'c':
# l1.append(j)
#
# for k in l1:
# print(k)
将敏感词换成****
# li = ["苍老师","东京热",'武藤兰','波多野结衣']
# new_li = []
# info = input('请输入你的评论') # 苍老师,fdsa东京热
# for i in li:
# if info.find(i) != -1:
# l = len(i)
# info = info.replace(i,'*'*l) #***,fdsa东京热
# new_li.append(info)
# print(new_li) """
7,有如下列表li = [1,3,4’,alex’,[3,7,8,’taibai’],5,’ritian’]
循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
我想要的结果是(用三种方法实现)
"""
另外还有两种用for和range的方法
li = [1,3,4,'alex',[3,7,8,'taibai'],5,'ritian']
for i in li:
if type(i)==list:
for k in i:
print(k)
else:
print(i)
#2
li = [1,3,4,'alex',[3,7,8,'taibai'],5,'ritian']
for i in range(0,len(li)):
if type(li[i])==list:
for k in li[i]:
print(k)
else:
print(li[i])
方法三:
li = [1,3,4,'alex',[3,7,8,'taibai'],5,2]
# print('********',li.index([3,7,8,'taibai']))
# new_li = []
# for i in li:
# if type(i) == list: # i == [3,7,8,'taibai']
# index_list = li.index(i) # index_list == li.index([3,7,8,'taibai']) == 4
# new_li = li[:index_list] # new_li = [1,3,4,'alex',]
# new_li.extend(li[index_list]) # [1,3,4,'alex',].extend([3,7,8,'taibai'])
# # new_li = [1,3,4,'alex',3,7,8,'taibai']
# new_li = new_li.extend(li[index_list+1:]) # li[index_list+1:] ==[5,2]
#new_li = [1,3,4,'alex',3,7,8,'taibai',5,2]
# for j in new_li:
# print(j)
# li = [1,2,3]
# l2 = ['a','b','c']
# l3 = li+l2
# print(l3)
方法四来由:
l = [1,2,3,'4']
l[1] = ['2',3,'alex']
print(l) #[1,['2',3,'alex'],3,'4'] [1,'2',3,'alex',3,'4']
l[1:2] = ['2',3,'alex']
print(l)
方法四
li = [1,3,4,'alex',[3,7,8,'taibai'],5,2]
for i in li: ####方法一
if type(i) == list:
index_list = li.index(i) # 4 i = [3,7,8,'taibai']
li[index_list:index_list+1] = i # li[4:5] = [3,7,8,'taibai']
# li = [1,3,4,'alex',3,7,8,'taibai',5,2]
# print(i)
# for j in li:
# print(j)
day5作业收藏
三、字典的讲解:
字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取
总结:1,字典无序。2,数据关联性强,3键值对。唯一一个映射的数据类型。
字典的键必须是可哈希的(不可变的数据类型:字符串,数字,布尔值,元祖)并且是唯一的不可哈希的(可变的数据类型:列表,字典,set)
增:
dic = {'name':'alex','age':19,'high':'175cm'}
#dic ['wight']='65kg'
#print(dic) # {'name': 'alex', 'age': 19, 'high': '175cm', 'wight': '65kg'} 第一种增加就是字典键值等于变量/
# 如果不存在此键值直接增加 ,如果存在就是修改该键对应的值
#dic['name'] = 'chao'
#print(dic) # {'name': 'chao', 'age': 19, 'high': '175cm'}
#dic.setdefault('weight','60kg')
#print(dic) # {'name': 'alex', 'age': 19, 'high': '175cm', 'weight': '60kg'}
dic.setdefault('name',666)
print(dic) #{'name': 'alex', 'age': 19, 'high': '175cm'}
# 总结:setdefault如果不写 参数会报错,只写k 会创建一对值是None的键值对,如果K存在则不会新增加列表
删:
#a = dic.pop('name')
#print(dic,a) # {'age': 19, 'high': '175cm'} alex
#a = dic.pop('name','lll')
#print(dic,a,dic.pop('name','lll')) #{'age': 19, 'high': '175cm'} alex lll
# 根据键值删除某一个元素,并返回删除的值,如果键值不存在那么返回 键值后的参数111 注:如果键值后没有参数并且该键值不存在则会报错
#a = dic.popitem()
#print(dic,a) # {'name': 'alex', 'age': 19} ('high', '175cm')
# 任意删除字典中的某个键值对,并以元祖的形式返回
#del dic['name']
#print(dic) # {'age': 19, 'high': '175cm'} 删除指定的键值对
dic.clear()
print(dic) # {} 清空字典
改:
#dic['name'] = 'chao'
#print(dic) # {'name': 'chao', 'age': 19, 'high': '175cm'} 根键值直接修改
li = {'name':'chao',1:2}
dic.update(li)
print(dic,li) # {'name': 'chao', 'age': 19, 'high': '175cm', 1: 2} {'name': 'chao', 1: 2}
# 根据第二个列表更新第一个列表相同的键改变值为第二个。不存在的键值增加
查:
a = dic.get('name22')
print(a) # None
a = dic.get('name22','啥')
print(a) # 啥 用get根据键值 去查找值 如果不存在返回 None 或者设置值
a = dic['name22'] # 直接用键值去查找的时候不存在会报错
# print(dic.keys(),type(dic.keys())) # dict_keys(['name', 'age', 'high']) <class 'dict_keys'>
# print(dic.values(),type(dic.values())) # dict_values(['alex', 19, '175cm']) <class 'dict_values'>
# print(dic.items(),type(dic.items())) # dict_values(['alex', 19, '175cm']) <class 'dict_values'>
# # 将键和值转化为列表
# #for 循环去 查找
# for i in dic:
# print(i) # 默认遍历的是字典的键 name age high
# for j in dic.keys():
# print(j) # 遍历所有键
# for k in dic.values():
# print(k) # 遍历所有值
# for m,n in dic.items():
# print(m,n) #遍历键和值 用啊 m,n 去接受
# m,n = (2,3) # python 中变量的赋值可以用这种形式
# print(m,n) # 2 3
day6笔记的更多相关文章
- day6 笔记
元祖 只读不可取的列表,数据不能被修改 a = (20,30) 格式同列表,只是[] 换成了 () ps:元祖在创建的时候,最好在最后的元素后面加一个逗号,比如a = ( 20,) 用法类似于列表:切 ...
- python笔记 - day6
python笔记 - day6 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 大纲: 利用递归,实现阶乘: Python反射 pyt ...
- 【FCS NOI2018】福建省冬摸鱼笔记 day6【FJOI 2018】福建省选混分滚蛋记 day1
记录一下day6发生的事情吧. 7:30 到达附中求索碑,被人膜,掉RP. 7:50 进考场,6楼的最后一排的最左边的位置,世界上最角落的地方,没有任何想法. 发现电脑时间和别人不一样,赶快调了一下. ...
- Android 笔记 a+b day6
独立写了自己第一个Android app -----------a+b!!!!! 自己手机Android版本4.2太低,安装时会出现解析失败,装到室友手机上就好了~~ happy~~ package ...
- python学习笔记-Day6(3)
代码书写原则: 1)不能重复写代码 2)写的代码要经常变更 编程模式概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数 ...
- python学习笔记-Day6(2)
xml处理模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融 ...
- python学习笔记-Day6(1)
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式 >>> s=shelve.open('test') > ...
- 学习笔记day6:CSS3动画属性
总结: 1: CSS动画:@keyframes animation:ie10+:加-webkit前缀: animation 则是属于关键帧动画的范畴; 它本身被用来替代一些纯粹表现的javascri ...
- 学习笔记day6:position index结合
z-index属性适用于定位元素(position 属性值为 relative 或 absolute 或 fixed的对象),用来确定定位元素在垂直于显示屏方向(称为Z轴)上的层叠顺序(stack o ...
随机推荐
- 为小团队协作和个人任务管理而生的Team应用
今天主要给大家讲讲个人用户如何操作附个下载地址:https://coding.net/s/7a64f0d3-0fc3-4618-a490-d29651dae06b1.可直接在主页添加任务 任务被放在默 ...
- 时光轴二之RecyclerView版时光轴效果
由于如今RecyclerView是support-v7包中的新组件,是一个强大的滑动组件.与经典的ListView相比,相同拥有item回收复用的功能,可是直接把viewholder的实现封装起来,用 ...
- Windows如何使用主题包
相信有很多朋友都遇到这样的问题 下载了主题却没有办法安装就是解压到C:\WINDOWS\Resources\Themes也是于事无补 没有任何反应 回到桌面 点击右键还是没有没有任何反应见图一 原因很 ...
- 右键添加在siblime中打开选项
siblime text安装完成之后没有右键打开的快捷方式,对于开发者来说每次用siblime打开文件比较繁琐. 下面教程可以让大家解决这个问题 首先点击开始--运行,输入regedit,(win7系 ...
- unity3D克隆50个游戏对象并输出Json格式的文本
http://wenku.baidu.com/link?url=tl8q_aj1n-U267XkKtSZISaw6jKJ1woh4CJkDUr1AwEzllSAv7P0r7cawXXSyDVXNf6m ...
- 经验总结54--搭建linux虚拟机环境
好久没写博客了.写一篇环境搭建吧. 自己做java,有时会接触linux环境,自己能够搭建一个,方便自己做实验和学习. 1.下载VM11. 下载并依照VM:http://rj.baidu.com/so ...
- ie6、ie7下JSON.parse JSON未定义的解决方法
解决方法一: var jsons = req.responseText; var s; if (typeof(JSON) == 'undefined'){ s = eval("(" ...
- set hive.exec.parallel
hive.exec.parallel参数控制在同一个sql中的不同的job是否可以同时运行,默认为false.下面是对于该参数的测试过程: 测试sql:select r1.a from (sel ...
- chrome 浏览器 的一些控制台技巧
1.查找dom元素.但它并不支持jquery语法. $$("#fock"); // 目前仅仅知道可以查找Dom元素 2.查找dom元素绑定的事件. getEventListen ...
- unity, UGUI Image shader
Image组件的Material成员默认是空,如果想为Image添加shader,只需新建material赋给Material即可. 另外注意,用于UI组件的shader都要包含一句:ZTest ...