Python Part3 数据类型

一、序列

s = 'hello'
s2 = 'world'
print(s+s2)
print(s*3)
print('h' in s)
print('e' not in s)
print('len():', len(s))
print('max():', max(s))
print('min():', min(s))
print('s.index():', s.index('l'))
print('s.count():', s.count('l'))

二、列表(可变序列)

字符串(不可变序列)

1.列表操作 

print('----------------------列表创建--------------------------')
lst1 = ['hello', 38, 'hi']
lst2 = list('haha')  # 只能写一个字符串
lst3 = list(range(1, 11, 2))
print(lst1)
print(lst2)
print(lst3)
print()

print('----------------------基本操作---------------------------')
print(lst1+lst2+lst3)
print(lst1*3)
print(len(lst1))
print(max(lst2))
print(lst1.count('h'))
print(lst1.index(38))

# 删除列表  del lst4
print()

print('-----------------------列表遍历-------------------------')
lst = ['xixi', 'haha', 'hehe', 'yeh']
for item in lst:
    print(item)
print()
for i in range(0, len(lst)):
    print(i, '--->', lst[i])
print()
for index, item in enumerate(lst):
    print(index, item)
# 此时index是序号,不是索引
# 可以手动修改序号的开始值
print()
for index, item in enumerate(lst, start=2):
    print(index, item)
# 这里 start 可以省略不写
print()

print('-----------------------列表操作plus-----------------------')
print(lst,id(lst))

lst.append('wowo')
print(lst)

lst.remove('hehe')
print(lst)

print(lst.pop(1))
print(lst)

lst.reverse()
print(lst)

new_lst = lst.copy()
print(lst, id(lst))
print(new_lst, id(new_lst))

lst[1] = 'aoao'
print(lst)

lst.clear()
print(lst, id(lst))
print()

print('--------------------------列表排序---------------------------')
lst5 = [12, 4, 66, 47, 84, 8]
print(lst5)
lst6 = ['dog', 'Cat', 'pink', 'blue']
print(lst6)
print()
# 1.列表对象的sort方法
# 默认升序
lst5.sort()
print(lst5)

lst5.sort(reverse=True)
print(lst5)

lst6.sort()
print(lst6)

lst6.sort(reverse=True)
print(lst6)
# 忽略大小写进行排序
lst6.sort(key=str.lower)
print(lst6)

# 2.内置函数sorted()
new_lst5 = sorted(lst5)
print(new_lst5)

dnew_lst5 = sorted(lst5, reverse=True)
print(dnew_lst5)
print()

print('--------------------------列表生成式-------------------------')
lst8 = [item for item in range(1,11)]
print(lst8)
lst8 = [item*item for item in range(1,11)]
print(lst8)
lst8 =[i for i in range(10) if i%2==0]
print(lst8)

2.二维列表

lst=[
    ['城市', '环比', '同比'],
    ['北京', 102, 103],
    ['上海', 104, 504],
    ['深圳', 100, 39]
]
print(lst)

for row in lst:
    for item in row:
        print(item, end='\t')
    print()

# 列表生成式生成一个5行6列的二维列表
lst2 = [[j for j in range(6)]for i in range(5)]
print(lst2)

三、元组(不可变序列)

1.创建与删除

# 元组创建
t = ('hello',[1,2,3], 'python')
print(t)

t = tuple('hellohihi') # 只能有一种
print(t)

t = tuple([3, 4, 5, 6, 5])
print(t)
print()
print(4 in t)
print(4 not in t)
print(max(t))
print(min(t))
print(len(t))
print(t.index(4))
print(t.count(5))
print()
#如果元组当中只有一个元素,逗号不能省
a = (10)
b = (10,)
print(a, type(a))
print(b, type(b))

del t # 元组删除

2.访问与遍历

t = ('python', 'hello', 'world')
print(t[0])
t2 = t[0:3:2]
print(t2)
print()

# 遍历
for item in t:
    print(item)
print()

for i in range(len(t)):
    print(i, t[i])
print()

for index, item in enumerate(t):
    print(index, '--->', item)

3.元组生成式

t = (i for i in range(1,4)) #生成器对象
t = tuple(t)
print(t)

for item in t:
    print(item)
print()

t2 = (j for j in range(2,5))
print(t2)
print(t2.__next__())  # 取出生成器中的元素
print(t2.__next__())
print(t2.__next__())

t2 = tuple(t2)
print(t2)

四、字典(key无序)

1.创建与删除

# 字典创建
d = {10:'cat', 20:'dog', 30:'fish', 20:'duck'} #会覆盖
print(d)
# zip函数
lst1=[10,20,30,40]
lst2=['cat', 'dog','fish', 'duck','car']
zipobj = zip(lst1,lst2)
print(zipobj) #结果为 <zip object at 0x000001B38D03B740>看不到
''' 
print(list(zipobj))
[(10, 'cat'), (20, 'dog'), (30, 'fish'), (40, 'duck')]
可转成列表类型,列表中元素是元组类型
'''
print(dict(zipobj))

# 使用参数创建字典
d = dict(cat=10, dog=20) #左侧为key,右侧为value
print(d)
# 元组(不可变序列)可以作为字典中的key,列表(可变序列)不可以
t=(10,20,30)
print({t:10})
print()
# 字典属于序列
print(max(d))
print(len(d))
del d

2. 访问与遍历

d = {'hi':10, 'hello':20, 'wow':30}
print(d['hello'])
print(d.get('hello'))
# 这两种方法有区别,若key不存在,d[]会报错,d.get()可以指定默认值
print(d.get('xixi'))
print(d.get('xixi','你猜'))

# 字典遍历得到元组
for item in d.items():
    print(item)

for key,value in d.items():
    print(key,'----->',value)

3.字典相关操作

d = {111:'bill', 222:'lili', 333:'ben'}
print(d)
# 添加
d[444]='monica'
print(d)
print()
# 取 keys
keys = d.keys()
print(keys)
print(list(keys))
print(tuple(keys))
print()
# 取values
values = d.values()
print(values)
print(list(values))
print(tuple(values))
print()
# 取 keys 和 values
items=d.items()
print(items)
print(list(items))

d = dict(items)
print(d)
print()
# pop取
print(d.pop(222))
print(d)

print(d.pop(555,'不存在'))
print(d)
print()

# 随机删除
print(d.popitem())
print(d)

d.clear()
print(d)

 

4. 字典生成式

import random
d={item: random.randint(1,100) for item in range(4)}
print(d)
print()

lst1 = [111,222,333]
lst2 = ['lili', 'bob', 'nuna']
d={key:value for key,value in zip(lst1,lst2)}
print(d)

五、集合(无序,不重复,可变)

1.集合创建与消除

# 集合的创建与删除
s = {10,20,30,40}
print(s)
# 集合只能储存不可变数据类型
s= set()
print(s)
s = set('helloworld')
print(s)
# 集合无序且不重复
print()

s2 = set([10,20,30])
print(s2)
s3 = set(range(1,10))
print(s3)
print()

print(min(s3))
print(len(s3))
print(3 in s3)

del(s3)

2.集合的操作符

A = {10,20,30,40,50}
B = {30,50,88,76,20}
print('A:', A)
print('B:', B)

print('A&B:', A&B)
print('A|B:', A|B)
print('A-B:', A-B)
print('A^B:', A^B)

3.操作方法

s = {10,20,30}
s.add(100)
print(s)
s.remove(10)
print(s)
for item in s:
    print(item)
for index, item in enumerate(s):
    print(index, '--->', item)
s.clear()
print(s)
print()

# 生成式
s = {i for i in range(1,10)}
print(s)
s= {i for i in range(1,10) if i%2==1}
print(s)

数据类型

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值