Python 数据类型

Python 数据类型

列表(数组)

列表List是Python中使用最频繁的数据类型,在其他语言中通常叫数组

专门用于存储一串信息

列表用[ ]定义,数据之间使用","分隔

列表的索引从0开始

定义

name_list1 = ["张三","李四","王五"]

#定义一个空列表
name_list2 = []

列表的常用操作:

temp = [1,'a',3,4,'b',5]
temp.insert(2,4) #在索引为2的位置插入数据4
temp.append() #追加数据到列表末尾
temp.extend([7,8,9]) #迭代的去增加
temp.extend(temp2) #将另外一个列表temp2的内容扩展到temp列表中,追加到列表末尾

del temp #整个列表连同存储空间全部一起删除
del temp[索引号]
 #del 关键字本质上是将一个变量从内存中删除

temp.pop(索引号) #根据索引去删,不带参数默认删除列表中最后一个元素
temp.remove(内容) #删除括号内的内容。如果该内容存在不止一个,则删除第一次出现的数据;如果数据不存在该内容,则报错
temp.clear() #删除列表内的所有内容,使列表为空

temp[0] = 1 #修改列表temp中索引为0的内容为1

temp[1:3] = ["1","3"]

temp.count(1) #查询1出现了几次
temp.index(1) #查询第一个出现的1的索引号

len(temp) #len函数可以统计列表中元素的总数

排序

temp.sort() #升序排序 reverse默认为False,reverse表示是否降序
temp.sort(reverse=True) #降序排序
temp.reverse() #逆序

循环遍历

#使用迭代遍历列表
for i in list1:
	循环体
    ...
#顺序的从列表中依次获取数据,每次循环过程中,数据都会保存在i这个变量中,在循环体内部可以访问到当前这次获取到的数据

应用场景

​ 虽然Python的列表中可以存储不同类型数据,但是在开发中,一般用列表来存储相同类型的数据,通过迭代遍历,在循环体内部,针对列表中的每一项元素执行相同的操作

字典

定义

字典用{}定义

#字典是一个无序的数据集合,使用print函数输出字典时,通常输出的顺序和定义的顺序是不一样的
zhangsan = {"name":"张三",
			"age":18
			"height":180
			"weight":70}

字典使用键值对存储数据,键值对之间使用","分隔

键key是索引

值value是数据

键和值之间使用“:”分隔

键必须是唯一的

值可以取任何数据类型,但键只能使用字符串、数字或元祖

key:value

通常用于存储描述一个物体的相关信息

字典是无序的对象集合

dic = {"name":hanliheng,"age:"20"}
dic["job"] = "IT" #直接加到最后
dic.setdefault('key',value)

dic.pop("age") #删除对应的键值对
dic.clear() #清空字典

dic["age"] = 18 #将age修改为18
dic2 = {"height":185}
dic.update(dic2) #合并字典,如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对

value = dic["age"]
value = dic.get("age","查无此项'') #查找age,如果找不到则打印”查无此项“

其他操作

print(len(dic)) #统计键值对数量

遍历字典

#变量k是每次循环中获取到的键值对的key
han_dic = {"name":"小韩",
			"QQ":"123456",
			"wechat":"666666"}
for k in han_dic:
	print("%s - %s"%(k,han_dic[k]))
    
#[out]:  QQ - 123456
#	     wechat - 666666
#        name - 小韩

应用场景

#将多个字典放在一个列表中
card_list = [
	{"name":"张三",
    "QQ":"123456",
    "phone":"123999"},
	{"name":"李四",
    "QQ":"78999",
    "phone":"123888"}
]
for card_info in card_list: #遍历列表
	print(card_infor)

元组

Tuple

元祖与列表相似,不同之处在于元祖的元素不能修改

用于存储一串信息,数据之间使用","分隔

元祖用( )定义

元祖的索引从0开始

元祖相当于一个只读列表,但是可以改元组里的列表

定义

tuple1 = ("zhangsan",18,185)
tuple2 = () #定义一个空元祖,开发中一般不会这样使用,因为元祖的元素不能修改
tuple3 = (5,) #定义一个只有一个元素的元祖
#如果这样写:tuple3 = (5),python解释器会自动去掉括号,认为tuple = 5,即定义了一个int类型的变量

方法

#取值
print(tuple1[0]) #打印元祖中索引号为0的内容
#取索引
tuple1.index("zhangsan") #取出"zhangsan"这个元素在元祖中的索引
#统计计数
tuple1.count("zhangsan") #统计"zhangsan"在元祖中出现的次数
len(tuple1) #统计元祖中元素的个数

循环遍历

for i in tuple1:
	print(i)
    #使用格式字符串拼接i这个变量不方便
    #因为元祖中通常保存的数据类型是不同的
    #所以针对元祖的循环遍历需求不是很多

应用场景

info = ("zhangsan",18)
print("%s 的年龄是 %d" %info)
#格式化字符串后面的“()”本质上就是元祖
print("%s 的年龄是%d 身高是%.2f" %("张三",18,180))

info_tuple = ("张三",18,180)
print("%s 的年龄是%d 身高是%.2f" %info_tuple)

info_str = "%s 的年龄是%d 身高是%.2f" %info_tuple
print(info_str)

集合

集合是无序的,不重复,确定性的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不 可哈希(所以集合做不了字典的键)的。以下是集合最重要的两点:

去重,把一个列表变成集合,就自动去重了。同时也不可变

关系测试,测试两组数据之前的交集、差集、并集等关系。

创建集合

set1 = set({1,2,'barry'})
set2 = {1,2,'barry'}
print(set1,set2)

set1 = {'abc','def',123,'asdas'}
# add()函数的参数只能接收可哈希数据类型,即不可变数据类型,
比如整型、浮点型、元组、字符串
set1.add('qwer')
print(set1)
# 我们使用update()向集合中添加元素时,update接收的参数应该是可迭代的数据类型,比如字符串、元
组、列表、集合、字典。这些都可以向集合中添加元素,但是整型、浮点型不可以。
set1.update('A')
#update:迭代着增加
print(set1)
set1.update('哈哈哈')
print(set1)
set1.update([1,2,3])
print(set1)

set1 = {'abc','def',123,'asdas'}
set1.remove('abc')
print(set1)
set1.pop()
# 随机删除一个数
print(set1)
set1.clear()
# 清空合集
print(set1)
del set1
# 删除合集
print(set1)

其他操作

set1 = {12345}
set2 = {345}
set1.intersection(set2) #交集
set1.union(set2) #并集
set1-set2        set1.difference(set2) #差集

循环

在Python中,可以使用for循环遍历所有非数字型类型的变量:列表、元祖、字典以及字符串

for i in range(0,3):
	print(i)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值