一 列表(list)

1.作用

按位置存放多个值

2.定义

l = [任意类型的值]

3.类型转化

但凡能够被for循环遍历的类型都可以被转化成列表

print(res = list ("hello"))
>>>["h","e","l","l","o"]

4.内置方法

4.1按索引取值

x = ["aa","vv","bb"]
print(x[1])#正向取值
print(x[-1])#反向取值
x[1]="b"#可以索引修改
print(x[1])
>>>vv
>>>bb
>>>b

4.2切片

x = ["aa","vv","bb"]
print(x[0:1])#顾头不顾尾,步长不写为1
>>>["aa"]

4.3长度

x = ["aa","vv","bb"]
print(len(x))
>>>3

4.4成员运算

x = ["aa","vv","bb"]
print("aa" in x)
>>>True

4.5往列表中加值

4.5.1追加
x = ["aa","vv","bb"]
x.append("append")#在最后一个值后面追加
print(x)
>>>['aa', 'vv', 'bb', 'append']
4.5.2追加列表
x = ["aa","vv","bb"]
x.extend([1,2,3,4])#在最后一个值后面追加多个值
print(x)
>>>['aa', 'vv', 'bb', 'append', 1, 2, 3, 4]
4.5.3插入
x = ["aa","vv","bb"]
x.insert(0,"insert")#在指定索引前加值
print(x)
>>>['insert', 'aa', 'vv', 'bb']

4.6删除

4.6.1del
#del是常规删除,没有返回值
x = ["aa","vv","bb"]
del x[0]#后面跟的x[0]相当于索引,也可以切片删除多个值
print(x)
>>>[vv","bb"]
4.6.2pop
#pop有返回值,返回被删除的值
x = ["aa","vv","bb"]
x.pop(0)#括号内是要删除的元素所在索引,不写默认删除最后一个
print(x)
>>>["vv","bb"]
4.6.3remove
#remove返回值为None
x = ["aa","vv","bb"]
l.remove("aa")#指名道姓删除列表中的元素

4.7需要了解的操作

#1.count 统计指定字符出现的个数
x = ["az","av","bb","bb"]
print(x.count("bb"))
>>>2 #2.index 寻找指定字符的索引位置
x = ["az","av","bb","bb"]
print(x.index("bb"))
>>>2 #3.clear 清空列表
x = ["az","av","bb"]
x.clear()
print(x)
>>>[] #4.reverse 反转列表
x = ["aa","vv","bb"]
x.reverse()
print(x)
>>>['bb', 'vv', 'aa'] #5.sort 排序
x = ["az","av","bb"]
x.sort()#可以对字符串排序,如果是多个字符串,一个一个比较
print(x)
>>>['av', 'az', 'bb'] a = [11,22,33,11]
a.sort()
print(a)
>>>[11, 11, 22, 33]
a.sort(reverse=True)#默认reverse为False,是从小到大,修改reverse可以变成正的
print(a)
>>>[33,22,11,11] #6 列表的比较
x = ["az","av","bb","bb"] #从第一个元素开始比较
a = ["z"]
print(x>a)
>>>False

二、元组(tupe)

1.作用

元组可以看成一个不可修改的列表,里面可以存放各种类型的值

2.定义

# 在()内用逗号分隔开多个任意类型的值
>>> countries = ("中国","美国","英国") # 本质:countries = tuple("中国","美国","英国")
# 强调:如果元组内只有一个值,则必须加一个逗号,否则()就只是包含的意思而非定义元组
>>> countries = ("中国",) # 本质:countries = tuple("中国")

3.类型转换

只要能被for循环使用的数据类型都可以转换成元组

print(tuple("hello"))
>>>("h","e","l","l","o")

4.内置方法

4.1索引取值

a = (1,2,3)
print(a[1])#只能取,不能改
>>>2

4.2切片

a  = ("aa","bb","cc","dd")
print(a[0:2])#顾头不顾尾,步长任意
>>>('aa', 'bb')

4.3长度

a  = ("aa","bb","cc","dd")
print(len(a))
>>>4

4.4成员运算

a  = ("aa","bb","cc","dd")
print("aa" in a)
>>>True

4.5统计

a  = ("aa","aa","bb","cc","dd")
print(a.count("aa"))
>>>2

三、字典(dict)

1定义

# 定义:在{}内用逗号分隔开多元素,每一个元素都是key:value的形式,其中value可以是任意类型,而key则必须是不可变类型,详见第八小节,通常key应该是str类型,因为str类型会对value有描述性的功能
info={'name':'hz','age':18,'sex':'male'} #本质info=dict({....})
# 也可以这么定义字典
info=dict(name='hz',age=18,sex='male')

2类型转换

print(dict([["name","age"],("hz","18")]))
>>>{'name': 'age', 'hz': '18'} print({}.fromkeys(("name","age")))#只指定key,会直接添加value=None
{'name': None, 'age': None}

3内置操作

3.1 按key存取值

3.1.1取

a = {
"name":"hz",
"age":18,
"hobbies":"play"
}
print(a["name"])
>>>hz

3.1.2 存

#对于赋值操作,如果key原先不存在于字典,则会新增key:value
a = {
"name":"hz",
"age":18,
"hobbies":"play"
}
a["tall"] = 1.81
print(a)
>>>{'name': 'hz', 'age': 18, 'hobbies': 'play', 'tall': 1.81} #如果key存在则修改value
a["age"] = 20
print(a)
>>>{'name': 'hz', 'age': 20, 'hobbies': 'play', 'tall': 1.81}

3.2长度,成员运算

#长度len(),计算的是key的数量
a = {
"name":"hz",
"age":18,
"hobbies":"play"
}
print(len(a))
>>>3 #成员运算计算的是否存在对应的key值
a = {
"name":"hz",
"age":18,
"hobbies":"play"
}
print("name" in a)
>>>True

3.3删除

#删除对应的键值对
a = {
"name":"hz",
"age":18,
"hobbies":"play"
}
a.pop("name")
print(a)
>>>{'age': 18, 'hobbies': 'play'}

3.4keys,values,items

a = {
"name":"hz",
"age":18,
"hobbies":["play1","play2"]
}
print(a.keys())#获取字典中所有的key
>>>dict_keys(['name', 'age', 'hobbies']) print(a.values())#获取字典中所有的value
>>>dict_values(['hz', 18, ['play1', 'play2']]) print(a.items())#获取字典中所有的键值对,键值对是元组
>>>dict_items([('name', 'hz'), ('age', 18), ('hobbies', ['play1', 'play2'])])

3.5循环

a = {
"name":"hz",
"age":18,
"hobbies":["play1","play2"]
} for keys in a:#循环输出key
print(keys)
>>> name
age
hobbies for values in a.values():#循环输出value
print(values)
>>> hz
18
['play1', 'play2'] for items in a.items():#循环输出键值对
print(items)
>>> ('name', 'hz')
('age', 18)
('hobbies', ['play1', 'play2'])

4需要掌握的操作

#1.get() 查找字典中的值,建议使用
a = {
"name":"hz",
"age":18,
"hobbies":["play1","play2"]
}
print(a.get("name"))#如果key存在,得到对应的value
>>>hz res = a.get("tall",666)#如果key不存在,默认返回None,也可以修改返回值
print(res)
>>>666 #2.pop() 常规删除操作
a = {
"name":"hz",
"age":18,
"hobbies":["play1","play2"]
}
print(a.pop("name"))#返回值为删除的key对应的value
>>>hz
print(a)
>>>{'age': 18, 'hobbies': ['play1', 'play2']} #3.popitem() 随机删除操作
a = {
"name":"hz",
"age":18,
"hobbies":["play1","play2"]
}
print(a.popitem())
>>>('hobbies', ['play1', 'play2'])#被删除的值以元组的形式返回
print(a)
>>>{'name': 'hz', 'age': 18} #4.update() 更新,如果存在则修改,如果不存在则添加新值
a = {
"name":"hz",
"age":18,
"hobbies":["play1","play2"]
}
a.update({"name":"lxt","sex":"flame"})
print(a)
>>>{'name': 'lxt', 'age': 18, 'hobbies': ['play1', 'play2'], 'sex': 'flame'} #5.setdefault()新增
a = {
"name":"hz",
"age":18,
"hobbies":["play1","play2"]
}
res =a.setdefault("sex","flame")#如果key不存在则新增,并且返回新增的value
print(res)
>>>flame
print(a)
>>>{'name': 'hz', 'age': 18, 'hobbies': ['play1', 'play2'], 'sex': 'flame'} res =a.setdefault("name","lxt")#如果key存在则返回原来的value值,不影响原字典
print(res)
>>>hz
print(a)
>>>{'name': 'hz', 'age': 18, 'hobbies': ['play1', 'play2']}

day09 基本数据类型(中)的更多相关文章

  1. (转载)MySQL数据类型中DECIMAL的作用和用法

    (转载)http://database.51cto.com/art/201005/201651.htm 在MySQL数据类型中,例如INT,FLOAT,DOUBLE,CHAR,DECIMAL等,它们都 ...

  2. 在C#的数据类型中,什么属于值类型,什么属于引用类型

    转自原文 在C#的数据类型中,什么属于值类型,什么属于引用类型 类型:整数,浮点数,高精度浮点数,布尔,字符,结构,枚举引用类型:对象(Object),字符串,类,接口,委托,数组除了值类型和引用类型 ...

  3. C#数据类型中的decimal精度比double更高

    decimal 128bit大小 有效数字:28~29,虽然decimal类型有比浮点类型更高的精度,但它的范围更小.故double转decimal有可能发生溢出错误,此外,decimal的计算速度稍 ...

  4. Java 代码学习之理解数据类型中的坑

    package dailytest; import org.junit.Test; public class DataTypeTest { /** * 当有字符串第一次参与运算后,+成了连接符的作用 ...

  5. PL/SQL学习笔记之数据类型中的标量、LOB

    一:标量 标量 即 基本数据类型,主要有4种:数值.字符.布尔类型.日期时间. 1:数值类型 数据类型 描述 PLS_INTEGER 通过2,147,483,647到-2147483648范围内有符号 ...

  6. JAVA数据类型中的char类型

    1.JAVA中,char占2字节,16位.可在存放汉字 2.char赋值 char a='a'; //任意单个字符,加单引号. char a='中';//任意单个中文字,加单引号. char a=11 ...

  7. [未完成]关于java基础数据类型中的一些总结

    java基本数据类型转换图: 有时候也把char型成为字符型,是加上字符型也是一种特殊的整数类型.

  8. 【javascript】数据类型中的一些小知识点

    1. undefined 和 null undefined是一个变量而不是一个关键字,所以可以被重新赋值.为了避免歧义,一般推荐用void 0 来获取undefined: null是一个关键字,所以可 ...

  9. JavaScript中七种数据类型·中·一

    Standing on Shoulders of Giants; 说到JavaScript里的类型很容易就让人想起 42和"42",分别是string型和number型,但是他们可 ...

随机推荐

  1. 02-Python基础1

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  2. 【JUC系列】01、之大话并发

    学习方法 学习技术的方法都很类似,大部分都有着类似的步骤: 场景 需求 解决方案 应用 原理 并发的目的 充分利用CPU 和 I/O资源 提高效率 并发的维度 分工 同步/协作 互斥 分工 线程池 f ...

  3. log4j2简介

    Apache Log4j 2 Apache Log4j 2是对Log4j的升级,它比它的前辈Log4j 1提供了显著的改进.在解决Logback的架构中存在的一些固有问题时,提供了许多可用的改进. 特 ...

  4. ios swift 知识点记录

      1. 定义变量 var name = "***" 定义常量 let name ="*****" 2. swift 变量类型  String, Int, Fl ...

  5. 用头发换JS的第一天

    因为平时也在上班,这些都是在地铁上抽空开始看的,总结来说还是有一些收获存在,每次看都能发现一些新东西,废话不多说,开撸! JavaScript是一种网页编程语言,可以对网页的行为进行编程,简单来说HT ...

  6. 2019-02-01 Python爬虫爬取豆瓣Top250

    这几天学了一点爬虫后写了个爬取电影top250的代码,分别用requests库和urllib库,想看看自己能不能搞出个啥东西,虽然很简单但还是小开心. import requests import r ...

  7. C++中为什么按两次ctrl+D才能结束标准I/O

    参考资料: https://www.douban.com/group/topic/127062773/ 今天学习了C++语言的标准I/O,也就是std::cin和std::cout,但是我发现当系统在 ...

  8. python_lesson1 数学与随机数 (math包,random包)

    math包 math包主要处理数学相关的运算.math包定义了两个常数: math.e   # 自然常数e math.pi  # 圆周率pi   此外,math包还有各种运算函数 (下面函数的功能可以 ...

  9. HTML中doctype的作用及几种类型详解

    一.DOCTYPE标签的定义与作用 <!DOCTYPE>是一个用于声明当前HTMl版本,用来告知web浏览器该文档使用是哪种 HTML 或者 XHTML 规范来解析页面,以便浏览器更加准确 ...

  10. MySQL5.7.X 的下载和安装

    1 MySQL的下载 这里是mysql5.7.30的版本下载地址 https://dev.mysql.com/downloads/mysql/5.7.html#downloads 根据自己电脑选择合适 ...