F数据结构深化.py

前言:在Python的世界里,数据结构就像是我们手里的各种工具,选对了工具,干活那叫一个顺手。今天,咱就唠唠列表、字典、集合和元组这几种常用的数据结构,看看它们到底有啥好玩的,咋用起来顺手。

目录

列表:能伸能缩的“杂货筐”

字典:叫名字就能找的“活字典”

集合:独一无二的“单间”

元组:不能变的“定型盒”

总结


列表:能伸能缩的“杂货筐”

列表这玩意儿,就像个能伸缩的杂货筐,啥都能往里扔。你往里塞东西,它就变长;你把东西拿出来,它就变短。要是碰到新东西,直接往里一丢就行。比如,你想记下一周要买的东西,直接往列表里加就行:

shopping_list = []
shopping_list.append("面包")
shopping_list.append("牛奶")
shopping_list.append("鸡蛋")

要是想找东西,直接告诉它位置就能拿出来:shopping_list[1]就能拿到“牛奶”。想看前几个东西,切片shopping_list[:2]就能搞定。要是想挨个瞧瞧里面的东西,用for循环就行:

for item in shopping_list:
    print(item)

列表推导式更牛,能快速整出新列表。比如你想把所有东西都加上“买”字,["买" + item for item in shopping_list]就搞定了。

字典:叫名字就能找的“活字典”

字典这玩意儿,就像本活字典,你只要叫名字(键),就能立马找到对应的东西(值)。往里塞东西的时候,直接写上名字和对应的东西就行。比如,你想记下朋友的生日,直接写上名字和对应的日期:

birthdays = {}
birthdays["张三"] = "3月14日"
birthdays["王五"] = "5月20日"

想拿东西,直接喊名字birthdays["张三"]就能把对应的东西揪出来。想挨个看名字、看东西,或者把名字和东西一对一对地看,用for循环就行:

for name, date in birthdays.items():
    print(f"{name}的生日是{date}")

字典推导式也能帮大忙,比如把所有日期都加上“生日快乐”:{name: "生日快乐 " + date for name, date in birthdays.items()}

集合:独一无二的“单间”

集合这玩意儿,就像是个单间,里面不能有重复的元素。要是想把元素放进去,就直接往里丢。要是往里塞重复的东西,它直接给你扔掉,保证里面都是独一无二的。比如,你想记下你去过的城市,直接往集合里加就行:

visited_cities = set()
visited_cities.add("北京")
visited_cities.add("上海")
visited_cities.add("广州")

要是想把里面的元素挨个瞧遍,用for循环就行:

for city in visited_cities:
    print(city)

集合还能做交集、并集、差集这些操作。比如,你有两个集合,一个是你去过的城市,另一个是你朋友去过的城市,用intersection()就能看出你们都去过哪儿,用union()就能看你们一共去过哪儿,用difference()就能看出你去过但你朋友没去过的地方。

元组:不能变的“定型盒”

元组这玩意儿,就像是个定型盒,里面的元素一旦放进去就不能改。创建一个元组很简单:

snack_tuple = ("薯片", "可乐", "巧克力")

想拿东西,知道位置的话,snack_tuple[1]就能拿到“可乐”;想挨个看里面的元素,用for循环也能搞定:

for snack in snack_tuple:
    print(snack)

 元组还有一个很实用的功能:解包。把元组里的元素一下子分给几个变量,就像直接把盒子里的东西倒出来一样:

first_snack, second_snack, third_snack = snack_tuple

总结

列表能装啥都能装,字典能按名字快速找东西,集合能保证元素独一无二,元组装的东西不能变保证安全性。写代码的时候,得根据需求选对家伙,这样才能用得顺手。要是对这些数据结构熟悉了,写起代码来那可真是得心应手。下次你写代码的时候,不妨多想想手里的工具,说不定能事半功倍呢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值