美文网首页
Python进阶->数据类型

Python进阶->数据类型

作者: 也是如此 | 来源:发表于2018-07-16 21:55 被阅读7次

数据类型

数据类型分为四种
1 列表
2 元组
3 集合
4 字典

1.列表 list

1>创建列表
names = list() # 创建了一个空列表
names = [ ] # 创建了一个空列表

dir() 查看某个类型下可以操作的所有的函数
help() 查看某个类型/函数/变量的操作方式

2>list列表的常见操作
增加数据:append() insert() extend()
删除数据:del 列表名称[下标]
clear()清空列表
修改数据:列表名称[下标] = 新数据
查看数据:通过编号直接查询获取数据
列表的编号:也称为索引、下标
其他操作
copy()复制一个新列表
count()查看列表中某个数据出现的次数

3>数据的常见操作
增加:新增数据
删除:直接从内存中删除数据
修改:原来就有,改变数据的值
查询:将数据从变量中取出
任何场景下,对于数据的处理,只有 增删改查 四种方式,简称CRUD
列表:python中提供的可以存储多个数据的组合数据类型之一
类型:list: 可以存储多个可以重复的有顺序的数据!
列表主要可以存储多个数据:增加数据、删除数据、修改数据、查询数据

列表的的基本操作:

# 声明列表
names = []
jobs = list()

# 增加数据
# 1. 末尾追加数据
jobs.append("数据分析工程师")
jobs.append("python开发工程师")
jobs.append("运行维护工程师")
jobs.append("需求分析工程师")
jobs.append("测试工程师")
jobs.append("系统架构工程师")

# 2. 指定位置添加:该位置之后的数据全部后移
jobs.insert(2, "爬虫工程师")

# 3. 在末尾一次追加多个数据,追加一个列表数据
jobs.extend(["php工程师", "java工程师", "c工程师"])


# 删除数据
# 4. 通过del关键字删除指定位置的数据
del jobs[1]

# 修改数据:根据下标,给指定位置的数据重新赋值:新值会覆盖原来的数据
# 5. 修改数据
jobs[0] = "python数据分析工程师"

# 6. 查询数据:可以直接通过下标查询指定位置的数据
print(jobs[0])

# 7.其他常用方法
# 查询数据:某个数据出现的位置
jobs.index("爬虫工程师")
# 查询数据:某个数据出现的次数
jobs.count("爬虫工程师")

# 排序:按照自然顺序进行排序
jobs.sort() 
# 翻转
jobs.reverse()

# 删除数据的操作
# 删除末尾的一个数据,并将数据返回
r = jobs.pop() 
print(r)
# 删除指定位置的数据,并讲数据返回
r = jobs.pop(3)
print(r)
# 删除制定的数据
jobs.remove("需求分析工程师")
# 清空列表
jobs.clear()


# 扩展几个方法
nums = [1,2,3,4,5,6,7,8,9]
# 计算列表中所有数据的和
r = sum(nums)
print(r)
# 获取列表中最大的数据
m1 = max(nums)
print(m1)
# 获取列表中最小的数据
m2 = min(nums)
print(m2)
# 获取列表中数据的个数
c = len(nums)
print(c)

4>列表的切片和遍历操作
切片:从原有的列表中,按照指定的位置,切出一个新列表
jobs = list()..存储了10个数据
需要2~5下标位置的数据:jobs[2:6]
需要2~8的数据,间隔1个获取1次:jobs[2:6:2]

# 列表中存储多个数据
nums = [0,1,2,3,4,5,6,7,8,9,10]

# 切片一部分数据
# 语法: 列表名称[开始位置:结束位置:步长]
n1 = nums[0:5] # [0, 1, 2, 3, 4]  # 默认步长为1

n2 = nums[6:] # [6, 7, 8, 9, 10]

n3 = nums[:3] # [0, 1, 2]

n4 = nums[1:6:2] # [1, 3, 5]

# python中提供双向索引
# 正向索引:从左往右:0->1->2->3..
# 反向索引:从右往左:-1 -> -2 -> -3 -> -4...
n5 = nums[-1:-3] # []

n6 = nums[-3:-1] # [8, 9]

n7 = nums[-1] # 10


# 成员运算符:判断一个数据是否在列表中包含: 变量 in 列表
print(10 in nums) # True
print(12 in nums) # False

# for循环:专门用于遍历多个数据
for n in nums:
    print( n)   # 0, 1, 2, 3, 4, 5 ,6...

# 获取列表中数据的编号
names = ["tom", "jerry", "shuke"]
for m in names:
    print(m)   # ton in names:m   jerry  shuke

for x, y in enumerate(names):
    print(x, y)  # 0 tom   1 jerry  2 shuke

2 元组 tuple

元组:可以存放一组有顺序的可以重复的但是不可以改变的数据。
元组主要用于数据处理的:只能删除和查询,不可以增加和修改
创建一个元组:
t1 = tuple() 声明一个空元组
t2 = () 声明一个空元组

t3 = (1,2,3,4,5) 声明包含元素的元组
t4 = (“h”) t4 = (“h”,) 如果只有一个元素,添加一个逗号分隔
t5 = (1) t5 = (1,) 如果只有一个元素,添加一个逗号分隔
程序中,如果出现了一组数据,在使用过程中,不允许修改的情况下
优先选择:元组 tuple
其次选择:列表 list
查询相关函数,可以直接操作,如:len()查看元组中元素的个数
运算相关:
元组自己没有提供count/index之外的操作
外部有一个默认的函数sorted可以针对元组进行排序,但是会改变元组的类型
排序注意:使用系统默认排序~保证排序的数据他们的数据类型是一致的!

3 集合 set

需求场景:我们需要存放一组数据,但是不希望存放重复的数据!用户的账号!

集合:通过哈希(hash)算法在一个容器中存放多个没有顺序的不可以重复的数据
声明一个集合:
s1 = set() <class ‘set’>
s2 = {“a”} <class ‘set’>
集合是用于存储和处理数据的,存储多个没有顺序的不可以重复的数据;通过hash算法让添加的数据不重复[剔重]

4 字典 dict

字典:可以存储多个key:value 键值对数据的组合数据类型
常见操作:声明字典
d1 = dict() # 空字典
d2 = {} # 空字典

数据常见操作:增加、删除、修改、查询
clear'清空, 'copy'复制, 'fromkeys'通过制定的key生成一个值为None的字典, 'get'根据key获取对应的值, 'items'获取所有的k:v键值对, 'keys'获取所有的键, 'pop'根据key值删除一个键值对, 'popitem'随机删除一个键值对, 'setdefault'增加一个数据,如果数据存在~修改, 'update', 'values获取所有的值

字典中,增加数据

f[key] = value
f.setdefault(key, value)
f.update(key, value)

删除数据:删除一个键值对

f.pop(key) 删除制定的key:value键值对
f.popitem() 随机删除一个键值对
def f[key] 删除制定的key:value键值对

修改数据

f[key] = value
f.update({key, value})

查询数据

v = f[key]
v = f.get(key)

遍历数据

for k in f.keys():# 直接循环字典中的key数据
print(k, f.get(k)) # value数据通过key数据获取

for k, v in f.items():# 直接循环字典中的key和value数据
print(k, v)

相关文章

网友评论

      本文标题:Python进阶->数据类型

      本文链接:https://www.haomeiwen.com/subject/vbkipftx.html