python第三次笔记

第三次笔记

列表

定义

是一种容纳多个数据对象的容器
元素类型可以不同

创建

lista=[1,2,3]
listb=list(‘01’) 等价于listb=[‘0’,‘1’'] 括号里是任意可迭代数据类型或者序列数据
listg=list(range(10)) #等价于listg= [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
在这里插入图片描述random.choice(positive) #随机在列表positive中选择一个元素

访问

print(lista)
print(lista[1])

遍历

1.利用for-in循环,name变量依次取列表list_witer中的每个元素。
在这里插入图片描述 print(name,’ ‘,end=’‘)#等价于print(name+’ ‘,end=’')

2.使用for-in循环和enumerate()函数,这种方法可以同时输出索引值和列表元素的内容
![在这里插入图片描述](https://img-blog.csdnimg.cn/d3ce346cef564c13999c53ac817915ef.png

1.append()列表末尾添加新的对象,可以接收任意类型的一个参数
2.extend()该方法的参数为一个列表类型,其功能是将该参数的每个元素都添加到原有的列表中
3.insert()在列表的指定索引增加元素

删除

1使用del命令删除列表中的元素
2. 使用pop()方法删除列表中的元素
注意:
(1)两者都可以删除指定元素,del命令直接删除而pop()方法删除的同时返回对应元素。
(2)如果索引值越界,则产生“IndexError”的异常
3. 使用remove()方法删除首次出现的元素

修改

在这里插入图片描述

排序

list_name.sort/sorted(key=None, reverse=False)
key表示指定从每个元素中提取一个用于比较的键,默认值为None;
reverse表示排序方式,默认为升序排列。
注意:
sort()会改变原列表的元素的排列顺序
sorted()会建立一个原列表的副本,该副本为排序后的列表,而原列表保持不变。

在这里插入图片描述

元组

定义

不可变数据类型
圆括号

元组的序列解包

tuplea=(‘zhangsan’,18,‘nan’) #元组中包含三个元素
name,age,sex=tuplea #通过解包操作将不同的元素赋给不同的变量
此时,name,age,sex分别被赋值为’zhangsan’,18,‘nan’。这种操作经常用作函数参数传递时,多参数返回值的情况。

在这里插入图片描述

字典

定义

{键:值,键2:值……}
键相当于自定义的下标,可以是任何数据类型,不可以修改(字符串,元组,数字等不可变数据类型),具有唯一性
列表的下表是有序的整数(正负都可),不可自己定义

创建

(1)直接用{}括起来多个包含“键:值”的元素
(2)采用dict()函数来生成字典
在这里插入图片描述
zip(列表1,列表2)函数 列表1,2 一 一对应形成键值对,dict()形成字典
在这里插入图片描述在这里插入图片描述

访问

(1)通过字典名[键名]的方式访问字典中该键名所对应的键值
dict1[“jiangsu”]
(2)通过get()方法来访问键值,语法格式:字典名.get(键)
dict1.get(“jiangsu”)

操作

利用clear()方法将字典中的所有元素都删除,例(接着上步代码操作):
dictb.clear() #将所有元素删除掉
print(dictb) #输出结果为:{}
在这里插入图片描述

遍历

(1)keys()方法,返回字典中所有的键名
在这里插入图片描述
(2)values()方法,返回字典中所有的键值
(3)items()方法,该方法获取到字典中所有的条目。

集合

可变
不可变
元素不可重复,会自动的把重复元素合并。默认可变集合
{}

setb={} #注意,如果这样定义是定义一个空字典

(2)采用set()函数来生成集合,如

在这里插入图片描述
在这里插入图片描述

不可变集合

在这里插入图片描述

综合实例

在这里插入图片描述

text="While many in China are taking high-speed trains back home for the upcoming Spring Festival, \
Zhong Nanshan, a renowned respiratory expert, rode the rails on Saturday to Wuhan, \
Hubei province, the epicenter of the viral pneumonia outbreak.\
Zhong, 84, who heads a National Health Commission expert panel conducting research on the new epidemic,\
 was the first to confirm on Monday during an interview with China Central Television that the new coronavirus can be transmitted between humans.\
He advised people not to travel to and from Wuhan as he worked to combat the outbreak.\
Two photos circulated widely on social media by Guangzhou Daily \
showed Zhong taking a short break on the train and rushing to a hospital in Wuhan to learn about patients' conditions."
text=text.lower()
for ch in ",.;?!'":
    text=text.replace(ch," ")#用空格代替标点符号
words=text.split()#将这段文字分隔成单词,并放入到一个列表中
#下面准备以字典的形式存储每个单词
counts={}
for word in words:
    if word in counts.keys():
        counts[word]=counts[word]+1
    else:
        counts[word]=1
#按照单词出现次数排序
#首先将字典中的键值对作为列表的元素放入到列表中。
words_counts=list(counts.items())
#对words_counts排序,按照出现的次数
words_counts.sort(key=lambda x:x[1],reverse=True)
#输出频度最高的5个单词及对应的次数
for i in range(5):
    print(words_counts[i][0],":",words_counts[i][1])

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值