Python快速精通2 - 序列(列表,元组)和字典
2019-05-24 本文已影响110人
小马哥China
小马哥正在为Python的所有常见知识进行汇总,也会有实战项目,点击全栈工程师养成---Python内容导航页查看
导语
在上一篇"Python快速学习1-变量和简单数据类型"中知道,简单数据类型指向一个内存空间,这个内存存储一个数据,如果我们需要存储一系列数据,用简单数据类型就不合适了,Python给我们准备了集合数据结构: 序列,字典.
主要内容
1.序列(列表,数组,字符串)
2,字典
开始了
首先序列包含三种: 字符串,列表,元组
一,列表
二,元组
三,字典
全部代码
#01,创建列表
lst1 = ['百度','阿里','腾讯','智能天下']
lst2 = list(range(0,10))
print(lst1,'\n',lst2,sep='',end='\n=====================================\n')
#02,创建元组
tup1 = ('百度','阿里','腾讯','智能天下')
tup2 = tuple(range(0,10))
print(tup1,'\n',tup2,sep='',end='\n=====================================\n')
#03,创建字符串
str1 = 'hello 小马哥'
str2 = str('hello Python')
print(str1,'\n',str2,sep='',end='\n=====================================\n')
#什么是可变和不可变
print('List修改前ID: {0} ,修改前的List内容:{1}'.format(id(lst1),lst1))
lst1[0] = '华为'
print('List修改后ID: {0} ,修改后的List内容:{1}'.format(id(lst1),lst1),end='\n=====================================\n')
print('Tuple修改前ID: {0} ,修改前的Tuple内容:{1}'.format(id(tup1),tup1))
#tup1[0] = '华为'
print('Tuple修改后ID: {0} ,修改后的Tuple内容:{1}'.format(id(tup1),tup1),end='\n=====================================\n')
print('String修改前ID: {0} ,修改前的String内容:{1}'.format(id(str1),str1))
str1 = 'hello 小马'
print('String修改后ID: {0} ,修改后的String内容:{1}'.format(id(str1),str1),end='\n=====================================\n')
#列表和元组的通用方法
companys = ['百度', '阿里', '腾讯', '智能天下']
print('companys: ',companys,end='\n=====================================\n')
'''
访问元素方式1: 索引访问()访问某一个元素
'''
print('companys[0]: ',companys[0])
print('companys[2]: ',companys[3])
#Python具有负数索引,负号代表在右边开始
print('companys[-1]: ',companys[-1],end='\n=====================================\n')
'''
访问元素方式2: 切片访问(访问某一个范围元素)
'''
print('companys[0:2]: ',companys[0:2])
#证明切片访问是左闭右开区间 [m,n) -->范围 包括索引为m,不包括索引为n的元素
print('companys[0:1]: ',companys[0:1])
#Python对于切片也是可以使用负索引的,但是同样注意,左边界的索引要小于右边界,同时,右边界是取不到的
print('companys[-4:-1]: ',companys[-3:-1])
# 切片的步长
print('companys[0:3:2]带步长: ',companys[0:3:2],end='\n=====================================\n')
'''
访问元素方式3: 切片缺省边界
'''
#如何使用切片取到最后两个元素呢
print('companys[2:3]: ',companys[2:3]) #这样只能取到索引为2的第三个元素
print('companys[-2:-1]: ',companys[-2:-1])#使用负索引也是同样结果,取不到最后一个,因为区间是左闭右开的
print('companys[-2:]: ',companys[-2:]) #缺省不写就能取到了
print('companys[:-1]: ',companys[:-1])
print('companys[:]: ',companys[:],end='\n=====================================\n')
#加法 (其实就是拼接的作用)
companys_plus = ['字节跳动','京东','滴滴','美团']
allCompany = companys + companys_plus
print('allCompany; ',allCompany)
#乘法(和加法是一样的,乘多少,就是多少个list拼接)
person = ['中国人']
allPerson = person*10 #意思10个person列表拼接
print('allPerson: ',allPerson,end='\n=====================================\n')
# 整点python的所谓简洁和优雅
baidu,ali,tencent,zntx = companys
#练习一下: 取1--100内的所有偶数,能马上想到的方法是什么? 搞一个循环,然后每个数%2==0,然后放到list里面,有点违背Python优雅之道
#那么试试Python的优雅
#numbers = list(range(2,101,2)) #当然可以直接这样创建,这里为了熟悉切片的操作,换下面的方式
numbers = list(range(1,101))
print("numbers[1::2]: ",numbers[1::2],end='\n=====================================\n')
小马哥正在为Python的所有常见知识进行汇总,也会有实战项目,点击全栈工程师养成---Python内容导航页查看