Python|数据结构——字典

Python元组与字典操作练习
博客围绕Python编程展开,包含元组和字典的操作练习。有构造含10个元素元组、获取元组后5个值、尝试删除元组元素等操作,还介绍了字典的构造、引用、增加和删除方法,最后给出相关练习。

练习答案:

编写一个程序:

  • 构造一个包含10个元素的元组
  • 获取元组内最后的5个值
  • 删除元组内第2个元素(能否实现?为什么?)
  • 删除整个元组
#练习答案:编写一个程序:
#构造一个包含10个元素的元组
#获取元组内最后的5个值
#删除元组内第2个元素(能否实现?为什么?)
#删除整个元组

a=(0,1,2,3,4,5,6,7,8,9)
print(a)

print(a[5:])
print(a[-5:])

#不能实现,元组不能改变

del a
print(a)

NameError:name 'a' is not defined

定义——构造方式

字典(dict)

{key:value}={键:值}

a={
  "小红":66,
  "小明":88,
  "小兰":99
  }
print(a)

{ "小红":66, "小明":88, "小兰":99}

引用(通常使用key)

a={
  "小红":66,
  "小明":88,
  "小兰":99
  }
print(a)
print(a["小红"])   #引用key 得到值
a["小红"]=90  #赋值:把66替换成90
print(a)


{ "小红":66, "小明":88,"小兰":99}
66
{ "小红":90, "小明":88,"小兰":99}

增加——字典名['New key']=value

x={
  "小红":66,
  "小明":88,
  "小兰":99
  }
print(x)
a["小胖"]=100
print(a)

{ "小红":66, "小明":88,"小兰":99,"小胖":100}

若key已存在,就是修改

删除——del 字典名['key']

x={
  "小红":66,
  "小明":88,
  "小兰":99
  }
print(x)
del x["小红"]  #删掉key 键值对不存在
print(x)

{"小明":88,"小兰":99}

字典是无序的,del x[1] 这种方式不可以,没有位置关系

练习:

  • 构造一个字典
  • 访问字典内某个特定值
  • 在字典内增加一对值
  • 删除字典内某一特定元素

(答案在下一节)

### Python 字典与字符串的计算思维训练 #### 创建和初始化字典Python中,字典是一种映射类型的数据结构,允许存储键-值对。可以通过大括号`{}`来定义一个字典,并使用冒号分隔键和对应的值[^1]。 ```python person_info = {"name": "Alice", "age": 25, "city": "Beijing"} ``` #### 访问字典中的元素 要获取某个特定键所关联的值,可以采用方括号语法指定该键名;如果尝试访问不存在的键,则会引发异常。为了避免这种情况发生,建议先检查键是否存在或使用内置方法`.get()`。 ```python print(person_info["name"]) # 输出 Alice print(person_info.get("gender")) # 返回 None 而不是抛出错误 if "email" in person_info: print(person_info["email"]) else: print("Email not found.") ``` #### 修改和更新字典内容 由于字典是可变容器模型的一部分,在不改变其身份的情况下可以直接修改其中的内容。这既包括新增条目也涵盖了已有项的替换操作[^2]。 ```python person_info.update({"age": 26}) person_info["hobby"] = ["reading", "swimming"] ``` #### 遍历字典 遍历时可以选择只迭代所有的键、仅限于值亦或是同时取得两者组合而成的关键信息元组形式。对于后者而言,推荐借助.items()成员函数实现更高效的循环逻辑构建。 ```python for key in person_info.keys(): print(f"{key}: {person_info[key]}") for value in person_info.values(): print(value) for k, v in person_info.items(): print(k, '->', v) ``` #### 处理字符串基础功能 字符串是由零个或多个字符构成的一维数组,支持索引定位单个字母以及切片提取子串片段。此外还提供了诸如大小写转换、去除空白符等功能接口方便日常开发工作。 ```python text = " Hello World! " cleaned_text = text.strip().lower() substring = cleaned_text[:5] replaced_string = cleaned_text.replace('world', 'everyone') formatted_message = f"Greetings to {replaced_string}." ``` #### 实际案例分析:多项式的求导运算 给定一个多项目式表达式作为输入参数传入名为`diff`的方法体内,内部实现了基于幂法则完成微积分学意义上的导数计算过程并返回新的系数表征结果集合作为输出对象[^3]。 ```python def diff(poly_dict): result = {} for power, coefficient in poly_dict.items(): if power != 0: new_power = power - 1 derived_coefficient = power * coefficient result[new_power] = derived_coefficient return result ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值