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 ...
随机推荐
- [Spring boot] Integrating with h2 database
In pom.xml add dependency: <dependencies> <dependency> <groupId>org.springframewor ...
- S3C6410+FPGA+2*RTL8211 驱动 iperf測试
驱动也写的差点儿相同了,所以有必要測试下性能怎样?本次採用了iperf进行測试.而且对照了下s3c6410+ks8851的測试结果 1.iperf怎样交叉编译? https://iperf.fr/ 官 ...
- Python 3 初探,第 1 部分: Python 3 的新特性
Python 3 是 Guido van Rossum 功能强大的通用编程语言的最新版本.它虽然打破了与 2.x 版本的向后兼容性,但却清理了某些语法方面的问题.本文是系列文章中的第一篇,介绍了影响该 ...
- CSS--百度百科
层叠样式表是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言. CSS目前最新版本为CSS3,是能够真正做到网页表现与内容分离的一种样式设 ...
- vue scoped 解决样式不生效问题
对于添加样式不能影响子组件样式的情况使用:>>> <style scoped> .sti-inline{ display: inline; } .sti-searchfo ...
- lodash _.size
返回collection(集合)的长度,如果集合是类数组或字符串,返回其 length :如果集合是对象,返回其可枚举属性的个数. _.size([1, 2, 3]); // => 3 _.si ...
- Notepad++输入模式之改动模式、插入模式
notepad++光标是直的,怎样让它变成竖的? 通常光标是竖的.为插入模式,光标在字符之间时输入,内容会随输入的内容向后移动,新输入的内容不会替换后面的内容. 当按一下"Insert&qu ...
- Eclipse Mylyn成为顶级项目
http://www.infoq.com/cn/news/2010/09/eclipse-mylyn/ 作为应用程序的生命周期管理工具,Eclipse Mylyn项目已经被提升为顶级的Eclipse项 ...
- node.js 学习02
读写文件中的路径问题 readFile()读取文件函数中的./(相对路径)这个参数,相对的是执行node命令的路径,而不是相对于正在执行的这个js文件来查找.为了解决这个问题: __dirname(两 ...
- 分别在.NET Framework 与 .NET Core 框架下 编写Windows Service(windows服务程序)
前言,为什么会分别在两个框架下编写Windows Service,是因为最近在做区块链这块,使用的是NEO(小蚁区块链)的相关技术,NEO使用的是.net core 2.1,业务上需要写两个程序,一个 ...