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