一、上节知识回顾:

1、list:li=[1,2,3,5,"a"]

增加: append:末尾加入==追加

insert  :插入,在任意位置,insert(index,"内容”)

extend :迭代着加入,“asc”---------a,s,c[1,2,3]--------a,s,c,1,2,3

删除: pop 按索引删除,有返回值

remove:按元素删除

del  :del li[0]       del li[1:4]         del li(删除整个)

改:li[0]="djshf"     li[1:3]="abcd"    li=["sdalk",1,2,4,"a"]

查询:按照索引,切片,for while 等都可以查出。

其他方法:   count   计数  没有切片

sort 从小到大,正序,sort(reverse=True) 倒序排列

reverse:反转

index  找出元素的索引位置 可以切片

2、元祖。只读,不能更改,儿子不能改,孙子可以改。

可以切片

3、range(4,12)=[4,5,6,7,8.......11]

for i in []:

pay2:xrange

range

pay3:range

二、作业讲解:

1、面试题: 关于切片

li=[1,3,2,'a',4,'b',5,'c']
通过对li列表的切片形成新的列表l5,l5 = [‘c’]l5=li[-1:]

2、字符串的拼接

# 利用下划线将列表的每一个元素拼接成字符串“alex_eric_rain“
li=["alsex","erric","rain"]
第一种方法:运用join
temp="_".join(li)
print(temp第二种方法(非常重要)
msg=""
is_first=True
for item in li:if is_first:tmp=itemprint(tmp)is_first=Falseelse:tmp="_"+itemprint(tmp)msg+=tmp
print(msg)第三种方法:
li=["alex","eric","rain"]
info="{}_{}_{}".format(li[0],li[1],li[2])
print(info)第四种方法:
s="alsex"
for i in li[1:3]:s=s+"_"+i
print(s)

字符串的拼接

非常重要的知识点:

将 str——>list   使用 split

将 list——>str   使用 join

li="name,sahd,1231"
print(li.split(","))                      # ['name', 'sahd', '1231']
l1=['name', 'sahd', '1231']
print(",".join(l1))                      #name,sahd,1231

3、利用for循环;

# 6、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
# 敏感词列表 li = ["苍老师","东京热",”武藤兰”,”波多野结衣”]
# 则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;
# 如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
info=input("请输入您的评论:")
li=["苍老师","东京热","武藤兰","波多野结衣"]
new_li=[]
for i in li:if li.index(i)!=-1:info=info.replace(i,"***")
l1=new_li.append(info)
print(new_li)

4、嵌套循环

7,有如下列表li = [1,3,4’,alex’,[3,7,8,’taibai’],5,’ritian’]
循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
我想要的结果是(用三种方法实现):
li=[1,3,4,'alex',[3,7,8,'taibai'],5,'ritian']
第一种方法:利用判断
for i in range(len(li)):if type(li[i])==list:for j in li[i]:print(j)else:print(li[i])
第二种方法:
for i in range(len(li)):if  i==4:for j in li[i]:print(j)else:print(li[i])
第三种方法:利用列表的添加
new_lit=[]
for i in li:if type(i)==list:s=li.index(i)l1=li[0:s]l2=li[(s+1):]new_lit.extend(l1)new_lit.extend(i)new_lit.extend(l2)for j in new_lit:print(j)
第四种方法:利用列表的改
new_lit=[]
for i in li:if type(i)==list:s=li.index(i)li[s:s+1]=ifor j in li:print(j)

嵌套循环

三、今日内容

1、字典

(1)字典是无序的;

(2)数据关联性强

(3)键值对,唯一一个映射的数据类型

(4)字典的键必须是可哈希的(不可变的数据类型;字符串,数字,布尔值,元祖)并且是唯一的

不可哈希的(可变的数据类型:列表,字典,set)

2、增

(1)直接增添   dic["name"]="liu" (如果字典里有,则覆盖)

name={"name":"liu","age":12,"wang":"li"}
name["wae"]="tiantain"
print(name)
#{'name': 'liu', 'age': 12, 'wang': 'li', 'wae': 'tiantain'}

(2) setdefault  有键值对 不做任何改变,没有键值对才添加

name={"name":"liu","age":12,"wang":"li"}
name.setdefault("k")
#{'name': 'liu', 'age': 12, 'wang': 'li', 'k': None}
name.setdefault("k","asd")
#{'name': 'liu', 'age': 12, 'wang': 'li', 'k': None}
name.setdefault("ds","saji")
#{'name': 'liu', 'age': 12, 'wang': 'li', 'k': None, 'ds': 'saji'}
print(name)

3、删(1)pop     dic.pop("name")

dic.pop("name",None)有返回值

(2)popitem 无返回值  dic.popitem()

name={"name":"liu","age":12,"wang":"li"}
print(name.pop("name"))      #liu   (返回值)
print(name)               #{'age': 12, 'wang': 'li'}
print(name.pop("andj",None))   #None
name.popitem()
print(name)                #{'age': 12}

(3) clear   dic.clear()

name={"name":"liu","age":12,"wang":"li"}
name.clear()
print(name)      #{}

(4) del  del.dic["name"]

name={"name":"liu","age":12,"wang":"li"}
del name["name"]
print(name)      #{'age': 12, 'wang': 'li'}

4、查

(1)直接查看,通过键  dic["name”]

(2) get  dic.get("name",没有)  若没有这个键则返回None(或者自己设置返回值)

name={"name":"liu","age":12,"wang":"li"}
print(name["name"])     #liu
print(name.get("age"))    #12
print(name.get("ashu"))      #None(如果没有则返回)
print(name.get("sdkfj","jhfue"))   #jhfue(如果没有可以设定返回值)

(3)Keys   dic.keys()#返回键列表(4)values dic.values()#返回值列表(5)items  dic.items()  #返回键值对
name={"name":"liu","age":12,"wang":"li"}
print(name.keys())
print(name.values())
print(name.items())

转载于:https://www.cnblogs.com/number1994/p/7874949.html

day6 字典的介绍相关推荐

  1. Python中字典的介绍以及常用操作

    1.字典的介绍 字典是另一种可变类型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示 ...

  2. C#中的Dictionary字典类介绍(转载)

    C#中的Dictionary字典类介绍 关键字:C# Dictionary 字典  作者:txw1958 原文:http://www.cnblogs.com/txw1958/archive/2012/ ...

  3. Python内置四大数据结构之字典的介绍及实践案例

    Python字典的介绍及实践案例 一.字典(Dict)介绍 字典是Python内置的四大数据结构之一,是一种可变的容器模型,该容器中存放的对象是一系列以(key:value)构成的键值对.其中键值对的 ...

  4. Python基础day04【字典(介绍、定义与访问、操作数据、常见操作)】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员]    目录 1. 复习反馈 判断一个方法是否有返回值 列表中的删除操作 新建day04项目 2. ...

  5. python 复制dict_超全的Python 字典(Dictionary)介绍

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: 键一 ...

  6. dictionary new一个实例_超全的Python 字典(Dictionary)介绍

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示: 键一 ...

  7. 语音增强———字典学习介绍

    语音增强--------------字典学习 字典学习就是用较少的特征(原子)来表示信号,那么信号的多个特征组合就相当于多个原子组成的字典,那么信号就可以用字典中少量的原子进行表示.信号在字典下的表示 ...

  8. 字典的介绍及增删改查、常见操作

    目录 介绍 生活中的字典 开发中的字典 根据键访问值 字典的增删改查 1>修改元素 2>添加元素 3>删除元素 字典的常见操作 1>len() 2>keys 3>v ...

  9. C#中的Dictionary字典类介绍

    关键字:C# Dictionary 字典  作者:txw1958 原文:http://www.cnblogs.com/txw1958/archive/2012/11/07/csharp-diction ...

  10. Python入门进阶篇(六)字典的介绍

    请仔细阅读哦!!! 文章目录 前言 一.Python字典的创建与删除 1.字典的创建 2.字典的删除 二.Python字典的访问 1.通过"键值对"访问字典 2.遍历字典 三.Py ...

最新文章

  1. 假设你有一个多层感知机网络(MLP),输入层有10个节点、一个单隐层共50个神经元,最后是一个3个神经元的输出层。请问网络的结构是什么样子的使用数学形式进行描述?
  2. PHP中没用的验证码
  3. 254. Factor Combinations
  4. java两个数之间质数求法_Java程序显示两个间隔之间的质数
  5. append,appendTo和prepend
  6. iostat命令简单使用
  7. 迷宫问题python实现
  8. Android时代的赢创之路
  9. flume学习(七):如何使用event header中的key值
  10. 介绍一个日志记录函数
  11. 计算机毕业设计java+jsp学科竞赛管理系统(源码+系统+mysql数据库+Lw文档)
  12. 将Excel文件数据导入到Oracle
  13. 中国个人企业征信体系介绍
  14. 高级运维工程师打怪升级之路
  15. R 加权最小二乘 代码_如何用EXCEL的规划求解功能优化投资组合的阿尔法值(最小二乘估计法)?...
  16. 分享如何跟进转化客户,提高成单率
  17. Codeforces - Pokémon Army
  18. python数据分析师面试_数据分析师面试_业务分析师_数据分析场景如何结合企业业务分析...
  19. 从软件工程师到IT猎头:说说跳槽那点事
  20. 阿里云二级域名配置-ssl证书包不安全问题记录

热门文章

  1. 等待线程3秒返回结果_Excel小白超级讨厌的计算,原来只用3秒就能出结果!
  2. java mavenpom_java-使用pom-packaging Maven项目作为依赖项
  3. 一种低侵入性的组件化方案 之 组件化需要考虑的几个问题
  4. [LintCode] 翻转二叉树
  5. Ajax专题:异步交互局部刷新初步
  6. zabbix监控之模板使用、网络发现及邮件报警功能
  7. Fast DDS Fast DDS主要包括以下内容DDS API、Fast DDS-Gen、RTPS Wire Protocol
  8. 09 Softmax回归+损失函数
  9. 六、基于UDP的服务器端/客户端
  10. 数据--第26课 - 排序的概念及分类