python元祖组成字典_Python基础-列表、元组、字典、字符串

多维数组

nums1 = [1,2,3] #一维数组

nums2 = [1,2,3,[4,56]] #二维数组

nums3 = [1,2,3,4,['a','b','c','d','e',['一','二','三']],['四','五']] #三维数组

nums4 = [1,2,3,4,['a','b','c','d','e',['一','二','三',[1,2,3]]]] #四维数组

print(nums2[3][1]) #56

print(nums2[-1][-1]) #56

print(nums3[4][5][1]) #'二'

print(nums3[5][1]) #'五'

print(nums3[-1][-1]) #'五'

list

list中可以放不同类型的值,list的下标从0开始。

#定义一个list

stu_name = ['张三', '李四', '王五', 1, 1.5]

print(stu_name) #打印list中全部内容

print(stu_name[0]) #打印'张三'

len()

length = len(stu_name) #list的长度,list中元素的个数

list增加元素

append()

insert()

stu_name.append('朱六') #在list末尾添加一个元素

stu_name.insert(0, '小军') #在指定位置插入一个元素

print(stu_name)

list修改元素

stu_name[6] = '铲铲'

print(stu_name)

list删除元素

pop()

remove()

del

reverse()

stu_name.pop() #删除最后一个元素

stu_name.pop(4) #删除指定下标的元素

stu_name.remove('小军') #删除指定的元素,有多个相同的元素,会删除第一个

del stu_name[-1] #删除指定位置的元素,正数从正序开始,负数从倒序开始

print(stu_name)

list查找元素

count()

index()

reverse()

clear()

my_list = ['小黑', '小白', 1, 1, 2, 1.5]

print(my_list[-1])

print(my_list[0])

print(my_list.count(1)) #查询某个元素在list里面出现的次数

print(my_list.index(1)) #查找元素的下标,多个相同元素取第一个,不存在的无素会报错

print(my_list.reverse()) #直接打印结果为None

print(my_list) #输出时list被反转

my_list.clear() #list被清空

print(my_list)

sort()

sort(reverse=True)

nums = [9.23, 9, 3, 6, 1, 0]

nums.sort() #从小到大排序

nums.sort(reverse=True) #从大到小排序

nums.extend(my_list) #把一个list里面的元素加入

print(nums)

new_list = nums + my_list + stu_name #合并

print(new_list)

print(new_list * 3) #复制几次

list练习

users = ['wrp','nhy','haha']

#校验用户名是否存在

for i in range(5):

username = input("请输入用户名:")

# 如果用户不存在的话,说明可以注册

#if users.count(username) > 0:

if username not in users: #in就是判断在不在里面

print("用户未注册,可以注册")

users.append(username)

else:

print("用户已经被注册")

#最原始的list取值方式,通过每次计算下标来获取元素

passwords = ['123456','123123','7891234','password']

count = 0

while count < len(passwords):

s = passwords[count]

print(s)

count+=1

passwords = ['123456','123123','7891234','password']

#for循环直接循环一个list,每次循环取它的值得

for p in passwords:

print(p)

#修改passwords中的内容

passwords = ['123456','123123','7891234','password']

index = 0

for p in passwords:

passwords[index] = 'abc'+p

index+=1

print(passwords)

#使用枚举函数,会计算下标和元素

passwords = ['123456','123123','7891234','password']

for index,p in enumerate(passwords):

passwords[index] = 'abc' + p

print(index, p)

print(passwords)

切片

切片同样适合于字符串

l = ['a','b','c','d','e','f','g','h','i']

print(l[0:3]) #顾头顾尾巴

print(l[:5]) #如果冒号前没写,代表从0开始取

print(l[4:]) #如果冒号后没有写,代表到结束

print(l[:]) #冒号前后都不写,取全部

print(l[0:8:2]) #从0开始,算上每隔2取一个

nums = list(range(1,101)) #range()生成一个list

print(nums[1::2]) #取100以内的偶数

print(nums[::2]) #取100以内的奇数

print(nums[::-2]) #步长为正数,从左到右取,步长为负数,从右到左取

字符串切片

#字符串切片

words = '中秋节要上课'

print(words[::-1])

for index,w in enumerate(words):

print(index, w)

回文算法

#回文算法,反过来倒过去都一样,如'上海自来水来自海上',12321

for i in range(10):

str = input("请输入一个字符串:")

if len(str) < 1:

print("字符串长度必须大于是")

elif str == str[::-1]:

print("是回文")

else:

print("不是回文")

元组

元组不能被修改,如果元组只有一个元素,需要在定义后添加逗号,不然会认为括号是运算符

创建元组

tup1 = ()

tup2 = (1,2,3,4,5,6)

tup3 = ('google','baidu',1000,2000)

tup4 = (50,)#元组中只有一个元素时,在后面添加逗号

访问元组

tup = ('google','baidu',1000,2000)

print(tup[1])

修改元组

tup = ('google','baidu',1000,2000)

tup1 = ('abc','xyz')

tup3 = tup + tup1

print(tup3)

删除元组

tup = ('google','baidu',1000,2000)

del tup

元组运算

#元组运算

print(len((1,2,3)))

print((1,2,3)+(4,5,6))

print(3 in(1,2,3))

for x in(1,2,3):

print(x)

tup =(1,2,3,4,5)

len(tup) #求元组长度

max(tup) #求元组中最大值

min(tup) #求元组中最小值

seq = [1,2,3,4,5]

tup = tuple(seq) #将列表换为元组

字典

xiaojun ={

'name':'xioajun',

'age': 21,

'sex':'男',

'addr':'北京',

'phone':'13266568006'

}

增加

stus = {}

stus['name'] = '小军'

stus['name'] = '海龙'

stus.setdefault('name', '小帆') #如果这个key已存在,setdefault不会修改这个key的值

stus.setdefault('age', 18)

stus.setdefault('sex', '男')

stus.setdefault('addr', '北京')

stus.setdefault('phone', '1961231231')

stus.update({'money':1000}) #将一个字典增加到stus中

修改

stus['name'] = '小鹏'

查询

print(stus['addr'])

print(stus.get('sex','男')) #如果查不到,get()中第二个参数就返回默认值

print(stus.keys()) #所有的key

print(stus.values()) #所有的value

for k in stus:

print(k, '===>',stus.get(k))

for k,v in stus.items():

print(k, '====>', v)

删除

del stus['phone']

stus.pop('addr')

stus.popitem() #随机删除

del stus #删除整个字典

字典多层嵌套取值

all_stus = {

'xiaojun':{

'name': 'xiaojun',

'age': 21,

'sex': '男',

'addr': '北京',

'phone': '13266568006',

'id': 1,

'cars':['牧马人','911','野马','劳斯莱斯'],

},

'hailong':{

'name': 'hailong',

'age': 21,

'sex': '男',

'addr': '北京',

'phone': '13266569006',

'id': 2,

'bags':{

'qianbao':['lv', 'ysl'],

'beibao':['coach','abc']

}

}

}

all_stus['xiaojun']['cars'].append('五菱宏光') #给xiaojun的car中添加值

print(len(all_stus['xiaojun']['cars'])) #统计xiaojun中car的数量

all_stus['hailong']['sex'] = '女' #将hailong的sex改为女

all_stus['hailong']['bags']['qianbao'].remove('lv') #删除bags中qianbao中的lv

all_stus['hailong']['bags']['kuabao']=['bac'] #增加一个kuabao

all_stus['hailong']['bags']['kuabao'].append('lv2') #在kuabao中增加lv2

all_stus['hailong']['bags'].pop('kuabao') #删除kuabao

字符串常用方法

字串符一经定义,不会被改变,对其操作会重新生成一个被处理后的新字符串。

password = ' 123456 \n 456789 '

print(password.strip()) #默认去掉字符串两边的空格和换行符

print(password.rstrip()) #右边的空格

print(password.lstrip()) #左边的空格

password1 = 'jpg 1233456789 .jpg'

print(password1.strip('.jpg')) #掉去字符串两边的.jpg

print(password1.upper()) #转成大写

print(password1.lower()) #转成小写

print(password1.capitalize()) #把首字母改成大写

print(password1.count('jpg')) #字符串出现的次数

print(password.replace('谭爱玲','上山打老虎')) #找到了就替换字符串,找不到也不报错

filename = 'a.mp3'

print(filename.endswith('.mp3')) #判断是否以xxx结尾

print(filename.startswith('196')) #判断以xxx开头

#'{name},{age}'.format(name='hhh',age=18)

names = '小军,海龙,杨帆,大朋'

names1 = '小军 海龙 杨帆 大朋'

print(names.split(',')) #以分隔符将字符串分割成list

print(names1.split()) #不指定时默认以空格切割

users = ['username','user2','user3']

#username,user2,user3

print(str(users))

res = ','.join(users) #连接可以循环的元素,和split()相反,把list变成了字符串

print(res) #结果为username,user2,user3

print(s.find("z")) #找不到时返回-1

#print(s.index("z")) #找不到时报错

print(s.count("z")) #找元素个数

print('0'.isdigit()) #判断是否是正整数

print(s.islower()) #是否小写

print(s.isupper()) #是否大写

print('abc123'.isalnum()) #字符串中是否有英文或数字

print('abc'.isalpha()) #只能是字母

print(s.isspace()) #是否空格

print('1a123'.isidentifier()) #是否为合法的变量名

print(s.splitlines()) #以换行符分割分字符串

new_l = []

for i in l:

si = str(i)

new_l.append(si.zfill(5)) #zfill()用于位数补0,会补足括号中位数

print(new_l)

import string

print(string.ascii_lowercase) #大写

print(string.ascii_uppercase) #小写

print(string.digits) #数字

print(string.punctuation) #特殊符号

print(string.ascii_letters) #大小写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值