Python开发第2篇数据类型
Posted Nice1949
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python开发第2篇数据类型相关的知识,希望对你有一定的参考价值。
一、数字
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
# 创建对象 var1 = 1 var2 = 2 # 删除对象 del var1 del var1,var2
四种不同的数字类型:
-
int(有符号整型)
-
long(长整型[也可以代表八进制和十六进制])
-
float(浮点型)
-
complex(复数)
二、字符串
字符串是由数字、字母、下划线组成。
str = ‘Hello World‘ print(str) #输出完整字符串 print(str[0]) #输出字符串中的第一个字符 print(str[2:5]) #输出字符串中第三个至第五个之间的字符 print(str[2:]) #输出从第三个开始到最后的字符串 print(str*2) #输出字符串两次 print(‘say: ‘ + str) #输出连接的字符串
三、列表
1、特点:可重复,类型可不同
2、列表操作
列表定义
names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
列表元素访问
# 打印第一个元素 print name[0] # 打印最后一个元素 print name[-1]
切片
# 定义1个列表 names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"] # 取索引1到4的元素,包含1,不包含4 names[1:4] #取索引0到3的元素 names[:3] # 取索引3到最后1个元素 names[3:] # 每隔1个元素,取1个元素 names[0::2] names[::2]
追加元素
# 在列表结尾追加元素 names.append("Mrli") 执行结果: [‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘, ‘Mrli‘]
插入元素
names = [‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘] #在索引为2的元素前增加新的元素 names.insert(2,"Mrli") 执行结果: [‘Alex‘, ‘Tenglan‘, ‘Mrli’,‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘]
修改元素
names = [‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘] # 替换索引为2的元素 names[2] = ‘Mrli‘ 执行结果: [‘Alex‘, ‘Tenglan‘, ‘Mrli’, ‘Rain‘, ‘Tom‘, ‘Amy‘]
删除元素
# 根据索引删除对应元素 del names[2] 执行结果:
[‘Alex‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘]
#删除指定元素 names.remove("Eric") 执行结果:
[‘Alex‘, ‘Tenglan‘, ‘Rain‘, ‘Tom‘, ‘Amy‘]
# 删除列表的最后一个元素 names.pop() 执行结果:
[‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘]
扩展
names2 = [‘小李‘,‘小张’] names = [‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘] print names.extend(names2) 执行结果: [‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘,‘小李‘,‘小张’]
排序&翻转
names = [‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘,‘小李‘,‘小张’]
names.sort() >>> names [‘Alex‘, ‘Amy‘, ‘Eric‘, ‘Rain‘, ‘Tenglan‘, ‘Tom‘, ‘小张‘, ‘小李‘] >>> names.reverse() #反转 >>> names [‘小张‘, ‘小李‘, ‘Amy‘, ‘Tom‘, ‘Rain‘, ‘Eric‘, ‘Tenglan‘, ‘Alex‘]
下标获取
names = [‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘,‘小李‘,‘小张’]
names.index("Amy")
>>> 5
元素统计
count() 方法用于统计某个元素在列表中出现的次数 names = [‘Alex‘, ‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘, ‘Amy‘,‘小李‘,‘小张’]
names.count("Alex") >>> 1
四、元组
1.特点:有序集合,不可变对象
2.元组操作:
# 元组定义
names = ("alex"
,
"jack"
,
"eric")
#获取下标
names.index("jack")
>>> 1
#统计元素出现次数
names.count("jack")
>>> 1
五、字典
1.特点:dict是无序的,key是唯一的
2.字典操作
字典定义
info = { ‘stu1101‘: "TengLan Wu", ‘stu1102‘: "LongZe Luola", ‘stu1103‘: "XiaoZe Maliya", }
增加字典元素
info["stu1104"] = "xiaozhang" >>> info >>> {
‘stu1102‘: ‘LongZe Luola‘,
‘stu1104‘: ‘xiaozhang‘,
‘stu1103‘: ‘XiaoZe Maliya‘,
‘stu1101‘: ‘TengLan Wu‘ }
删除字典元素
info = {‘stu1102‘: ‘LongZe Luola‘,‘stu1104‘: ‘xiaozhang‘,‘stu1103‘: ‘XiaoZe Maliya‘,‘stu1101‘: ‘TengLan Wu‘} # 删除字典元素 info.pop["stu1101"] 执行结果: {‘stu1102‘: ‘LongZe Luola‘,‘stu1104‘: ‘xiaozhang‘,‘stu1103‘: ‘XiaoZe Maliinfo} del info[“stu1102”] 执行结果: {‘stu1104‘: ‘xiaozhang‘,‘stu1103‘: ‘XiaoZe Maliinfo} # 随机删除字典元素 info.popitem() 执行结果: {‘stu1104‘: ‘xiaozhang‘}
修改字典元素
info = {‘stu1104‘: ‘xiaozhang‘,‘stu1103‘: ‘XiaoZe Maliinfo} info[stu1104] = "小张"
查找字典元素
info = {‘stu1102‘: ‘LongZe Luola‘, ‘stu1103‘: ‘XiaoZe Maliya‘} "stu1102" in info >>> True info.get("stu1102") >>> ‘LongZe Luola‘ info["stu1102"] >>> ‘LongZe Luola‘
dict循环
#方法1 for key in info: print(key,info[key]) #方法2 for k,v in info.items(): #会先把dict转成list,数据里大时莫用 print(k,v)
六、集合
1.特点:无序的,不重复的数据组合
2.集合操作
集合关系测试
# 创建一个数值集合 s = set([3,5,9,10]) # 创建一个唯一字符的集合 t = set("Hello") a = t | s # t和s的并集 b = t & s # t和s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
成员关系测试
x in s 测试 x 是否是 s 的成员 x not in s 测试 x 是否不是 s 的成员 s.issubset(t) s <= t 测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t 测试是否 t 中的每一个元素都在 s 中
其他操作
s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy() 返回 set “s”的一个浅复制 t.add(‘x‘)
添加一项
s.update([10,37,42]) 在s中添加多项 t.remove(‘H‘) 使用remove()可以删除一项: len(s) set 的长度
七、练习
程序:集合
要求:
- 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],
- 将所有大于 66 的值保存至字典的第一个key中,
- 将小于 66 的值保存至第二个key的值中。
程序:查找
要求:
- 查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {‘k1‘: "alex", ‘k2‘: ‘ aric‘, "k3": "Alex", "k4": "Tony"}
程序:购物车
功能要求:
- 要求用户输入总资产,例如:2000
- 显示商品列表,让用户根据序号选择商品,加入购物车
- 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
- 附加:可充值、某商品移除购物车
程序: 三级菜单
要求:
- 打印省、市、县三级菜单
- 可返回上一级
- 可随时退出程序
以上是关于Python开发第2篇数据类型的主要内容,如果未能解决你的问题,请参考以下文章