二、列表及字典操作

1、认识python数据结构

 数据结构:根据某种方式将数据元素组合起来形成的一个数据元素集合

包含序列、映射和集合三种

[0.0,0.7,1.4,2.09]

2、创建列表

常用的数学函数

 创建列表并进行增删改查操作

#创建列表
all_in_list=[0.25,'hello',True,[2.3,1.5]]
list_example=list('ABCD')

print(all_in_list)
print(list_example)
#列表的索引及切片
print(all_in_list)
all_in_list[1]      #索引操作
all_in_list[-3]     #'hello'

all_in_list[0:2]    #切片操作
all_in_list[-4:-2]  #不能[-2:-4],因为总是从左向右切
all_in_list[:3]      #[0.25,'hello',True]
all_in_list[:]       #取所有
#切片返回的值保留其结构,索引返回的是具体的值

为列表新增元素

#为列表新增元素
print(all_in_list)
all_in_list.append(0.78)  #在列表末尾追加一个元素
all_in_list.append([1,2])  #将待添加元素作为一个整体追加至目标列表的末尾
all_in_list.extend([1,2])  #将待添加元素的各个元素分别追加至目标列表的末尾
all_in_list.insert(1,'word')  #在指定位置插入相应元素
[1,2]+[3,4]          #将两个列表中的元素进行合并
out
[0.25, 'word', 'hello', True, [2.3, 1.5], 0.78, [1, 2], 1, 2]

[1, 2, 3, 4]
#删除列表中的元素
print(all_in_list)
all_in_list.remove('hello')    #删除列表中的指定元素
del all_in_list[0:2]           #删除列表中的多个元素
del all_in_list                #删除列表本身


out
[0.25, 'hello', True, [2.3, 1.5]]
[0.25, True, [2.3, 1.5]]
[[2.3, 1.5]]
#修改列表中的元素
all_in_list=[0.25,'hello',True,[2.3,1.5]]
all_in_list[0]=125   #通过赋值来修改列表中的元素

out
[0.25,'hello',True,[2.3,1.5]]
[125, 'hello', True, [2.3, 1.5]]

 3、列表推导式

#列表推导式
x=[]      #构建一个空列表
for i in range(1,11):
 x.append(i)

X_new=[i for i in range(1,11)]  #通过列表推导式来构建一个具有特定规则的列表
print(X_new)
[i**2 for i in range(1,11)]  #前面部分是列表返回值,后面是对前面列表的解释

out
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
in [i**2 for i in range(1,11)]  
out  [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 4、任务实现—求曲边图形的面积

import math
n=1000      #划分的小矩形个数
#1.将图形等份划分,得到若干小矩形(构建x序列)
width=2 * math.pi/n    #每个小矩形的宽度
# x=[0*width,1*width,...(n-1)*width]
x=[i*width for i in range(0,n)]   #x序列
#2.求出小矩形的高度
s=[abs(math.sin(i))*width for i in x]
#3.将各高度乘以宽度,得各小矩形面积,最后求和
sum(s)

 5、创建字典并进行增删改查操作

键—值成对出现;键不能重复;键不可更改、值可修改;键来索引值

# 创建字典
dict_first = {
    'the': 2,
    3.4: [3.5, 4],
    'hello': 'world'
}

# 字典的增删改查操作
dict_first['the']         # 通过键来索引对应的值
dict_first['the'] = 101   # 修改字典中的值
dict_first['world'] = 2.5    # 通过赋值来新增键值对
dict_first.update({'hello world': 3, 4.5: [2.3, 1.2]})  #增加多个
del dict_first['world']    # 删除字典中的指定的键值对

dict_first.keys()      # 访问字典的所有键
dict_first.values()    # 访问字典的所有值
dict_first.items()     # 访问字典的所有元素

second_dict = {i: i ** 2 for i in range(1, 11)}    # 字典推导式

6、任务实现—单词词频统计

处理字符串

将句子拆分成各单词

统计每个单词频次

记录汇总

# 任务实现:统计单词词频
lyric = 'The night begin to shine, the night begin to shine'
lyric = lyric.lower()      # 将所有字母转为小写形式
words = lyric.split()      # 将句子拆分成多个单词

word_freq = {}             # 构建一个空字典,用于后续记录各单词的频次
for word in words:         #访问字典中的所有单词
    if word in word_freq.keys():      # 判断当前访问的单词是否在字典中
        word_freq[word] += 1          # 若在,则将该单词对应键的值加一
    else:
        word_freq[word] = 1           # 若不在则以该单词为键创建一个键值对,且赋值为一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值