前言

python中列表,元祖,字典怎么还分不清,随便看看,看完不会我给你买iphone12!

一、列表

1.什么是列表

类比其他语言的数组强大的地方在于列表中的元素可以是不同类型的,到底有多强,上代码。

my_list = [1, "xin", (1, ), {"yi"}, ["nice"], {"hello": "world"}]

1

说破大天也没有哪种语言能这么肆无忌惮, 一个列表里包含了int, str, 元祖, 列表, 字典…

2.列表的基本操作

<1>添加元素("增"append, extend, insert)

# 空列表

my_list = list()

# append 向列表队尾添加元素

my_list.append("罗罗诺亚") # ["罗罗诺亚"]

my_list.append("索隆") # ["罗罗诺亚", "索隆"]

# extend 将另一个集合中的元素逐一添加到列表中

b = ["三刀流", "奥义"]

my_list.extend(b) # ["罗罗诺亚", "索隆", "三刀流", "奥义"]

my_list + b # 有个偷懒的方法也是 ["罗罗诺亚", "索隆", "三刀流", "奥义"]

# insert insert(index, object) 在指定位置index前插入元素object

my_list.inset(0, "帅的一笔") # ["帅的一笔", "罗罗诺亚", "索隆", "三刀流", "奥义"]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<2>修改元素(“改”)

# 修改元素只能通过下标修改哦

my_list = [1, 2, 3, 4]

my_list[0] = "修改" # ["修改", 2, 3, 4]

1

2

3

<3>查找元素("查"in, not in, index, count)

# in, not in

# in(存在),如果存在那么结果为true,否则为false

# not in(不存在),如果不存在那么结果为true,否则false

my_list = [1, 2, 3]

"1" in my_list # False

"1" not in my_list # True

# index, count

# index和count与字符串中的用法相同

my_list.index(1, 0, 2) # 第一个参数是要查找的元素, 第二三个是查找区间, 注意是左闭右开区间, 返回要查找元素的下标

my_list.count(1) # 返回查找元素的个数 1

1

2

3

4

5

6

7

8

9

10

11

<4>删除元素("删"del, pop, remove)

# del:根据下标进行删除

del my_list[0] # [1, 2]

# pop:默认删除最后一个元素

my_list.pop(1) # [1]

# remove:根据元素的值进行删除(注意只能删除存在的元素)

my_list.remove(1) # []

1

2

3

4

5

6

7

8

<5>排序(sort, sorted, reverse)

# sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。

my_list = [1, 4, 2, 3]

my_list.reverse() # [3, 2, 4, 1]

my_list.sort() # [1, 2, 3, 4]

my_list.sort(reverse=True) # [4, 3, 2, 1]

# sorted是保留原列表顺序, 也是默认由小到大

new_my_list = sorted(my_list)

# my_list 和 new_my_list 是完全独立的

print(my_list) # [1, 4, 2, 3]

print(new_my_list) # [1, 2, 3, 4]

print(sorted(my_list, reverse=True)) # [4, 3, 2, 1]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

3.列表嵌套

# python 里的列表嵌套就是其他语言里的多维数组

my_list = [

['北京大学','清华大学'],

['南开大学','天津大学','天津师范大学'],

['山东大学','中国海洋大学']

]

1

2

3

4

5

6

4.列表推导式

# 所谓的列表推导式,就是指的轻量级循环创建列表

my_list = [x for x in rang(5)]

print(my_list) # [0, 1, 2, 3, 4]

# 其实看语法也能看出来, 就是把遍历的每个值添加到列表里

# 在循环过程中可以使用if

my_list = [x for x in range(1, 10) if x % 2 == 0]

print(my_list) # [2, 4, 6, 8]

# 也可以多个for循环

my_list = [(x, y) for x in range(1, 3) for y in range(3)]

print(my_list) # [(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

1

2

3

4

5

6

7

8

9

10

11

12

二、元祖

python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。

<1>定义元组

# 只有一个元素, 元素后面要有逗号

my_tuple = ("a", )

# 多个元素

my_tuple = ("a", "b")

1

2

3

4

5

<2>元祖不能修改(后续再说为何不能修改)

<3>count,index,与字符串和列表中的用法相同

三、字典

1.字典就是键值对,也可以理解为现在都在用的json就是python中的字典(切记是双引号)

my_dict = {

"name": "索隆"

"sex": "男"

}

1

2

3

4

2.字典的常见操作

<1>根据键访问值

name = my_dict["name"] # 但是键不存在的时候就是报错, 空指针异常

name = my_dict.get("age") # 不存在返回 None

name = my_dict.get("age", 10) # 不存在返回默认值

name = 10 if my_dict.get("age") is None else my_dict.get("age") # 这就是上面那种取值方式

1

2

3

4

5

6

<2>修改,添加元素

# 键存在是修改

my_dict["name"] = "路飞" # {"name": "路飞", "sex": "男"}

# 键不存在是新增

my_dict["age"] = 18 # {"name": "路飞", "sex": "男", "age": 18}

1

2

3

4

5

<3>删除元素

# del 删除指定的元素

del my_dict["age"] # {"name": "路飞", "sex": "男"}

# del 删除整个字典

del my_dict # my_dict 已经被删除了, 再次访问就是未被定义

# clear清空整个字典

my_dict.clear() # {}

1

2

3

4

5

6

7

8

<4>len 测量字典中,键值对的个数

my_dict = {"name": "路飞", "sex": "男", "age": 18}

len(my_dict) # 3

1

2

<5>keys 返回一个包含字典所有KEY的列表

my_dict = {"name": "路飞", "sex": "男", "age": 18}

my_dict.keys # ["name", "sex", "age"]

1

2

<6>values 返回一个包含字典所有value的列表

my_dict = {"name": "路飞", "sex": "男", "age": 18}

my_dict.values # ["路飞", "男", 18]

<7>items 返回一个包含所有(键,值)元祖的列表

```c

my_dict = {"name": "路飞", "sex": "男", "age": 18}

my_dict.items # [("name", "路飞"), ("sex", "男"), ("age", 18)]

1

2

3

4

5

6

7

四、遍历

字符串、列表、元祖遍历一模一样

my_str = "hello world"

my_list = ["hello", "world"]

my_tuple = ("hello", "world")

# 最普通的遍历

for i in my_list:

print(i) # 依次打印里面的元素

# 带下标

for index, value in enumerate(my_list):

print(index) # 依次打印下标

print(value) # 依次打印里面的元素

1

2

3

4

5

6

7

8

9

10

11

12

字典

<1> 遍历字典的key(键)

my_dict = {"name": "路飞", "sex": "男", "age": 18}

for key in my_dict.keys():

print(key) # 依次打印字典里的key

1

2

3

<2> 遍历字典的value(值)

my_dict = {"name": "路飞", "sex": "男", "age": 18}

for value in my_dict.values():

print(value) # 依次打印字典里的value

1

2

3

<3> 遍历字典的项(元素)

my_dict = {"name": "路飞", "sex": "男", "age": 18}

for item in my_dict.items():

print(item) # 依次打印字典里项, 放在元祖里 ("name", "路飞")

1

2

3

<3> 遍历字典的key-value(键值对)

my_dict = {"name": "路飞", "sex": "男", "age": 18}

for key, value in my_dict.items():

print(key) # 依次打印字典里的key

print(value) # 依次打印字典里的value

1

2

3

4

总结

这就是python中常用的数据类型,感觉怎么样呀,够用了吗?

python常见的数据类型是_python基本数据类型都在这里相关推荐

  1. 在python中len表示的数据类型是_python基本数据类型学习

    python是极其简洁的一门高级语言,在python里面没有真正意义上的常量,只是用大写的标定表示常量(python中的常量是可以修改的),单行注释用#开始,.并且python不用定义数据类型,因为p ...

  2. python数据类型特点_Python 基础数据类型

    数字类型 Python 中的数字类型支持哪几种数值? 整型:可正可负,不带小数点.在Python3中,整型没有大小限制,所以也可以存储长整型 浮点型:可正可负,带小数点,可以使用科学计数法表示 1.1 ...

  3. python 只取年月日 字符串_Python的数据类型

    数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定 ...

  4. python数据类型汇总_python基础数据类型汇总

    #!/usr/bin/env python # -*- encoding:utf-8 -*- # author:Administrator # make_time:2018/6/9 ''' 数据类型: ...

  5. 88是python语言的整数类型_Python基础数据类型题

    Python基础数据类型 题 考试时间:三个小时 满分100分(80分以上包含80分及格) 1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pyt ...

  6. python语言提供的三个基本数据类型是_python基本数据类型

    对象是python中最基本的概念,python中数据以对象的形式出现--无论是python提供的内置对象,还是使用python或是像C扩展库这样的扩展语言工具创建的对象.对象时内存中的一部分,包括数值 ...

  7. python基础数据类型操作系统_python基础数据类型

    python变量名里面 不能使用系统自带的关键字 不能有符号 不能使用数字作为开头 大小写敏感 变量名是没有类型的  是变量名所引用对象的数据类型 变量无须一些括号来括起来 python数据类型的可变 ...

  8. python可变类型有哪些_python可变数据类型有哪些

    将python3的基本数据类型有六种: Number(int, float, bool, complex),String, List, Tuple, Dictionary, Set 可变数据类型:li ...

  9. python语言的数据类型图解_Python基础——数据类型(图解+实例,非常详细!)

    Python基础--数据类型(图解+实例,非常详细!) Python基础--数据类型(图解+实例,非常详细!) 内容及版权声明:笔记是根据开课吧--Python语法爬虫分析课和自己的理解记录,其中包含 ...

最新文章

  1. 判断链表中是否有环(环形链表)
  2. 国家计算机科学进展,高等学校计算机一级学科教学改革与科学办学最新进展.pdf...
  3. 各种框架实现了经典的 todo 应用
  4. 用Eclipse进行C/C++开发
  5. java url参数转换:_提示:通过URL激活并发送参数
  6. 学习笔记17-C语言-结构、联合、枚举
  7. MySQL建表添加乐观锁字段_Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化...
  8. asp.net 在线 mp3,wma, avi
  9. 小技巧 ----- 计数数组中小于 target 的元素个数
  10. OpenCV创建滑动条函数:createTrackbar()介绍
  11. 测试工程师值得被尊重!是否有此共鸣!
  12. 抓包分析数据帧中IP数据包的一些关键字段【南邮网课例题】
  13. MYSQL下载及安装完整教程
  14. 微信小程序引入阿里矢量图标
  15. 基于51单片机的智能温控风扇proteus仿真原理图程序设计
  16. Chrome浏览器清除页面js文件缓存的方法
  17. 百旺如何看是否清卡_​百旺如何看是否清卡
  18. lua——牛牛牌型处理相关算法(上)——牌值数据
  19. 服务器黑屏只显示鼠标是什么意思,电脑黑屏只显示鼠标怎么办
  20. vs2017python配置opencv_[opencv +VS2017] opencv、vs2017安装配置,环境搭建

热门文章

  1. GDPR从数据主体处收集信息时的信息提供,应包含哪些内容?怎样做才合规?
  2. 评测3款高颜值的azw3阅读器(ios手机适用)
  3. eclipse的tomcat配置
  4. Unity 数据读写与存档(1)——配置表初探
  5. 2021西安市地区高考成绩排名查询,2021西安的高中排名一览表
  6. 2012年度十大杰出IT博客之 高俊峰
  7. 基于JAVA二手房屋租赁系统计算机毕业设计源码+系统+lw文档+部署
  8. 虚拟主机的配置以及解决访问不了localhost和127.0.0.1
  9. 安装linux 分区设置,linux如何设置分区,linux新磁盘分区,安装linux如何分区
  10. bzoj 2163: 复杂的大门