Python中列表、元组、字典的总结

最近代码写的少了,发现有些概念竟然又记不清了,列表、元组、字典的相关知识又有些模糊,虽然即便有些概念记不清不会影响编码(大不了用的时候再百度)。但是做数据分析要的就是严谨和专业,不能基本功都过不去吧,所以还是把记不清的概念重新梳理,以后忘记了再回来看一眼。

列表

  1. 概念
    元素按照顺序存储的有序序列,元素可以是数字、字符串、也可以是列表。

  2. 创建列表
    使用中括号 [ ] 表示。例如:

foods=["煲仔饭","汉堡","麻辣香锅"]
  1. 访问列表
    单个元素访问:通过下标(从0开始)比如:print(foods[1]) 结果为:汉堡
    遍历列表:for循环
for food in foods:
	print(food)
  1. 列表操作
  • 添加元素
    列表尾部添加:使用append方法,例如:foods.append(“肯德基香辣鸡翅”)
    任意位置插入:使用insert方法,例如:在第二位插入一个元素,foods.insert(1,“榴莲披萨”),插入后,原来第二位及以后的元素顺序后移一位。
  • 删除元素
    pop()方法:在末尾删除一个元素,并且方法会返回删除的元素。print(foods.pop()),结果为:麻辣香锅
    pop(number)方法:按照number(索引)删除元素,这种可以指定删除的位置,比如删除第二位的元素:foods.pop(1)
    remove方法:按照值删除元素,需要注意的是,如果列表中有多相同的值,删除的时候只会删除第一个值。如果想删除列表中所有满足条件的值,需要使用遍历删除:
foods=["煲仔饭","汉堡","麻辣香锅","汉堡"]

 for m in foods:
 	if m=="汉堡":
 		foods.remove("汉堡")

del 语句:del 可以删除指定位置的元素,与pop(number)删除效果一样,不同的是,del不会返回删除的元素,pop(number)

  • 复制列表
    foodscopy=foods[:],需要指出的,不能写成 foodscopy=foods,这样不会生成一个新的副本,只是生成了一个foods列表的一个引用,对foodscopy的操作也会影响foods。
  • 列表排序
    使用方法sort():调用后列表按照升序排列。foods.sort(),如果想要逆序排列,使用reverse参数:foods.sort(reverse=True)
    使用函数sorted(list):sorted函数返回一个排序后的列表,该函数不改变原列表的顺序。同样,如果想要逆序排序,sorted(foods,reverse=True)
  • 列表前后反转
    可以使用reverse方法:调用reverse方法后,列表原存储顺序前后反转。
    可以使用reversed函数:调用函数后返回一个反转的迭代器,请注意,和sorted函数不同,这个函数返回的不是一个列表,而是一个迭代器,需要用list函数转成列表才可以使用:list(reversed(foods))
  • 获得列表长度
    使用len函数,返回的是数字。
foods=["煲仔饭","汉堡","麻辣香锅"]
 print(len(foods)) #返回值为3
  • 获得列表切片
    有时候处理列表时只想按顺序处理列表的部分内容,可以使用冒号(:)操作符获取部分列表内容。
    例如:foods=[“煲仔饭”,“汉堡”,“麻辣香锅”,“水饺”]
    1、foods[1,3],结果为:[“汉堡”,“麻辣香锅”],需要注意的是冒号操作符包含的范围,包含左边不含右边。所以foods[1,3],包含foods[1],包含foods[2],不含foods[3]
    2、foods[1:],结果为[“汉堡”,“麻辣香锅”,“水饺”]
    3、foods[:3],结果为[“煲仔饭”,“汉堡”,“麻辣香锅”]
    4、food[-2:],结果为[“麻辣香锅”,“水饺”],如果冒号左边的为负数,代表返回列表末尾的列表,-2代表返回末尾最后的2个元素组成的列表。
  • 使用range函数生成列表
    在数据分析的工作中有时候会按照规则生成一些数字,用来测试,这时候可以用range()函数来生成。比如,生成1-100中的奇数列表:
odd=list(range(1,101,2))

元组

  1. 概念
    是不可修改内部元素的列表。
  2. 创建元组
    使用圆括号定义元组,并在定义的时候赋值:
tp=(123456)
  • 元组操作
    1、不支持新增、修改、删除元组中的元素
    2、不支持元组内元素的排序、反转。
    3、支持切片获取元组内的元素。
tp=(1,2,3,4,5,6)
print(tp[1:3])#结果为:(2,3)

4、获取元组的长度

tp=(1,2,3,4,5,6)
print(len(tp))#结果为:6

字典

1. 概念
按照键值对存储的集合。
2. 创建字典
使用大括号{}表示创建字典。字典的元素是以键-值得形式存储,键值之间用冒号分开,元素和元素之间用逗号分开。
例如:infor={},site={“name”:“baidu”,“url”:“www.baidu.com”}

3. 访问字典

 site={"name":"baidu","url":"www.baidu.com","tel":"1234456677"}

单个元素访问:访问网站的url:print(site[“url”]) 结果为:www.baidu.com
遍历字典:可以通过for循环,遍历字典。
1、可以同时遍历键-值,使用items()方法,返回键值集合。
2、单独遍历键,使用keys()方法,返回键集合。
3、单独遍历值,使用values()方法返回值集合。

 site={"name":"baidu","url":"www.baidu.com","tel":"1234456677"}
 
for k,v in site.items():#同时遍历键和值
	  print("键为:"+k)
	  print("值为:"+v)
	  
for k in site.keys():#单独遍历键
	print("键为:"+k)
	
for  v  in site.values():#单独遍历值
	print("值为:"+v)

4. 字典操作

  • 新增字典元素
    不需要调用方法,直接赋值即可,site[“email”]=“baidu@baidu.com”,需要注意的是,字典是键值存储,如果键一样,则覆盖之前的值。
  • 删除字典元素
    字典不像列表有remove方法,可按照值来删除,字典只能用del语句来删除
    del site[“email”]
  • 字典长度
    print(len(site))

对比总结

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值