Python常用数据类型

一 、列表


name = ['zhangshan', 'lishi', 'wangwu']# 列表赋值
name.append('liujun')# 增,默认增加到最后位置
name.insert(1, 'chensan')# 插入到制定索引位置

name.remove(name[0])# 删除指定值,而且只从左边开始删除一次
name.pop(1)# 弹出指定索引的值,默认弹出最后一个
name.clear()# 清空列表里的值,变成空列表
del name # 删除变量
a = [x for x in range(10)]# 列表解析 [0,1,2,3,4,5,6,7,8,9]

name.count('liujun')# 计数,指定值出现的次数
name.extend(['haha', 'hehe'])# 批量增加,只要是可迭代的对象都可以用这个方法
name.index('liujun')# 返回该值的索引的位置
name.sort(reverse=True)# 从小到大排序
len(name)# 取列表的长度
name.reverse()   # 反转
print(name[1:-1])# 列表切片
print(name[-1::-1])# 



二、元组


a = (1,2,3)# 不可变类型,无法修改
b = tuple([4,5,6])
tu = (123, 456, ['aa', 'ddf', {'k1': '00', 'k2': '11'}])  # 元组的元素不可以被修改,但是元素里面的内容可以被修改,

不可变类型:整型a=123,字符型a=str,元组a=(1,2,3,)



三、字典

字典是无序的,没有索引值

di = dict((('name','liujun'),('age','23'),('like','game')))# 用dict函数创建字典
di = {'name':'liujun','age':'23','like':'game'}# 直接创建

di = {}
di['job'] = 'IT'
di.setdefault('aaa','bbb')# 如果键存在则返回这个键值,否则添加进去


print(di['name'])# 打印指定键的值
print(list(di.keys()))# 把所有键名转换成列表输出
print(list(di.values()))# 把所有值转换成列表输出
print(list(di.items()))# 把所有的键值对转换成对应的元组[('like', 'game'), ('job', 'IT'), ('age', '23'), ('name', 'liujun')]
di.get('age')    # 通过get方法获取指定键的值,没有这个键就返回None 。可以get一个默认值di.get('age123','hehe')


di['age'] = '20'	# 修改指定键名的值
di.update(ci)# 更新,把字典ci合并到di,如果有相同的键就覆盖掉


di.clear()# 清空字典,变成空字典
del di['name']# 删除指定的键值对
del di# 删除整个字典
di.pop('age')# 弹出指定键的值


其他方法

di = dict.fromkeys(['s1','s2','s3'],'ss')# 交叉创建字典
print(sorted(di))# 对键名从小到大排序
for v in di:# 遍历字典
    print(v,di[v])# 同时输出键和值
for k,v in di.items():# 转成一对对元组再遍历
    print(k,v)


可变类型:列表a=[1,2,3],字典a={‘str:liu’, ‘aa:ee’}无序列关系


四、集合

集合特性:去掉重复值,关系测试

a = set([1,2,3,4,5])# 创建可变集合,这种方式是把列表转换成集合
aa = frozenset([6,7,8,9,10])# 创建不可变集合
aaa = {1, 2, 3, 4, 5}    # 这也是一种创建集合的方法

a.add('liu')# 字符串当做一个整体增加进集合
a.update(['jun'])# 合并;列表形式中的字符串也是一个整体
a.update('jun')# 这个会拆分成单个字符增进集合

a.remove('liujun')# 删除指定值
a.clear()# 清空,变成空集合
print(a.pop())# 弹出一个值,由于集合也是无序,所以随机弹出
del a# 删除变量
a.discard(2)   # 删除指定值,如果没有这个值也不会报错


关系测试

a = set([1,2,3,3,4,5,5])
b = set([3,5,7,8,9])

print(a.intersection(b))        # 交集
print(a & b)             # {3, 5}
print(a.union(b))           # 并集
print(a | b)                # {1, 2, 3, 4, 5, 7, 8, 9}
print(a.difference(b))          # 差集
print(a - b)                    # {1, 2, 4}
a.difference_update(b)     # 直接改变自身,不生成新集合
print(a.symmetric_difference(b))        # 对称差集
print(a ^ b)                        # {1, 2, 4, 7, 8, 9}
print(a.issuperset(b))      # 父集;a是否完全包含b
print(a > b)                # False
print(a.issubset(b))        # 子集
print(b < a)# False


五、字节类型


#!/usr/bin/env python
# -*- coding:utf-8 -*-

s = '刘俊'
m = bytes(s, encoding='utf-8')  # 指定编码格式
print(m)    # b'\xe5\x88\x98\xe4\xbf\x8a'   转换成十六进制
for i in m:
    print(i)       # for默认十进制输出
# 229
# 136
# 152
# 228
# 191
# 138

for i in m:
    print(bin(i))       # 二进制输出
# 0b11100101
# 0b10001000
# 0b10011000
# 0b11100100
# 0b10111111
# 0b10001010
b = str(m, encoding='utf-8')    # utf-8 中文占3个字节  , gbk中文占2个字节



六、其他常用方法


enumerate

for k,v enumerate(name,1): # 枚举,给定起始值
    print(k,v)



range

print(range(1,10))  # range在python3里面是创建了一个生成器对象。python2里面是一个完整的列表,xrange和python3的一样
for i in range(1,10,2):  # 指定步长取出range生成的值
    print(i)


id

li = ['123', '456']
print(id(li))    # 显示li在内存中的地址


七、三目运算


#!/usr/bin/env python
# -*- coding:utf-8 -*-

flag = True

a = 'haha' if flag else 'hehe'   # 三目运算


print(a)    # haha






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值