python元祖组成字典_Python之旅第四天(列表、元祖、字典和习题)

第四天,感觉时间还是过得很快,今天内容确实有点多,关于list的方法实在是太多了,元组tuple感觉有点鸡肋,可能得到后面才知道他的作用吧,然后是字典,看了很多关于字典的介绍,但是这货到底是干啥用的一直没看懂。不多说开始今天的整理:

一、今天发现一个题目有了新的想法,姑且记录一下。题目:#用户输入用户名、密码、邮箱,限定长多不超过16位,并制作表格

s = ""a= 0

while a < 3:

v1= input("用户名>>>")

v1= v1[0:16]

v2= input("密 码>>>")

v2= v2[0:16]

v3= input("邮 箱>>>")

v3= v3[0:16]

once= "{0}{1}{2}"b=once.format(v1,v2,v3)

s= s +b

a+= 1print(s.expandtabs(20))

下面开始今日知识的正点部分:

一、列表list

什么是列表呢?就是 [ ] 这对中括号包围起来的内容,用“,”逗号分开即可,里面可以放你任何想放进去的东西,字符串、数字、bool、列表、元祖、字典,任何你想放的都可以的。

列表是有序排列的,按照从零开始的索引就可以读取里面的数值了。

和字符串str一样都是可以用切片的方法进行切片。

for、while循环都可以对他们进行遍历,同时每个元素都可以修改哦。

索引取值 print(li[3])

切片,切片结果也是列表 print(li[3:-1])

for循环 while循环

for item in li:

print(item)

1.索引进行修改:

li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]

li[1] = 120print(li)

li[1] = [11,22,33,44]

print(li)

2.删除 del li[1]

3.切片 li[3:-1] del li[3:-1]

4.关于in的操作

# li= [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]

# v1= "石振文" inli

# print(v1) #v1=False

# v2= "age" inli

# print(v2) #v2= True

5.查找深度索引

# li = [1, 12, 9, "age", ["石振文", ["19", 10], "庞麦郎"], "alex", True]

# li[4][1][0] #石振文所在位置

6.str字符串和列表之间的转换

字符串转为列表时,每个字符会成为单独的列表元素

test = "abc" li_test = list(test) 结果可得到li_test = ["a","b","c"]

反过来列表转换为字符串,直接强行转换的结果

test = ["a","b","c"] st_test = str(test) 结果可得到str_test =" ["a","b","c"]"

所以要想达到["a","b","c"]成为abc的效果,就可以使用join方法或者很麻烦

# 列表转换成字符串,

# 需要自己写for循环一个一个处理: 既有数字又有字符串

# li= [11,22,33,"123","alex"]

# # r= str(li) # '[11,22,33,"123","alex"]'# # print(r)

# s= ""#for i inli:

# s= s +str(i)

# print(s)

# 直接使用字符串join方法:列表中的元素只有字符串

# li= ["123","alex"]

# v= "".join(li)

# print(v)

二、元组,元素不可被修改,不能被增加或者删除

# tuple

# tu = (11,22,33,44)

# tu.count(22),获取指定元素在元组中出现的次数

# tu.index(22)

1. 书写格式

# tu = (111,"alex",(11,22),[(33,44)],True,33,44,)

# 一般写元组的时候,推荐在最后加入 ,

# 元素不可被修改,不能被增加或者删除

2. 索引

# v = tu[0]

# print(v)

3. 切片

# v = tu[0:2]

# print(v)

4. 可以被for循环,可迭代对象

# for item in tu:

# print(item)

5. 转换

# s = "asdfasdf0"

# li = ["asdf","asdfasdf"]

# tu = ("asdf","asdf")

#

# v = tuple(s)

# print(v)

# v = tuple(li)

# print(v)

# v = list(tu)

# print(v)

# v = "_".join(tu)

# print(v)

# li = ["asdf","asdfasdf"]

# li.extend((11,22,33,))

# print(li)

# 6.元组的一级元素不可修改/删除/增加

# tu = (111,"alex",(11,22),[(33,44)],True,33,44,)

# # 元组,有序。

# # v = tu[3][0][0]

# # print(v)

# # v=tu[3]

# # print(v)

# tu[3][0] = 567

# print(tu)

三、字典

# dict

# dict

# dic = {

# "k1": 'v1',

# "k2": 'v2'

# }

# 1 根据序列,创建字典,并指定统一的值

# v = dict.fromkeys(["k1",123,"999"],123)

# print(v)

# 2 根据Key获取值,key不存在时,可以指定默认值(None)

# v = dic['k11111']

# print(v)

# v = dic.get('k1',111111)

# print(v)

# 3 删除并获取值

# dic = {

# "k1": 'v1',

# "k2": 'v2'

# }

# v = dic.pop('k1',90)

# print(dic,v)

# k,v = dic.popitem()

# print(dic,k,v)

# 4 设置值,

# 已存在,不设置,获取当前key对应的值

# 不存在,设置,获取当前key对应的值

# dic = {

# "k1": 'v1',

# "k2": 'v2'

# }

# v = dic.setdefault('k1111','123')

# print(dic,v)

# 5 更新

# dic = {

# "k1": 'v1',

# "k2": 'v2'

# }

# dic.update({'k1': '111111','k3': 123})

# print(dic)

# dic.update(k1=123,k3=345,k5="asdf")

# print(dic)

# 6 keys() 7 values() 8 items() get update

##########

1、基本机构

# info = {

# "k1": "v1", # 键值对

# "k2": "v2"

# }

2 字典的value可以是任何值

# info = {

# "k1": 18,

# "k2": True,

# "k3": [

# 11,

# [],

# (),

# 22,

# 33,

# {

# 'kk1': 'vv1',

# 'kk2': 'vv2',

# 'kk3': (11,22),

# }

# ],

# "k4": (11,22,33,44)

# }

# print(info)

3 布尔值(1,0)、列表、字典不能作为字典的key(实际是因为bool对应的01会与其他k值重复造成的)

# info ={

# 1: 'asdf',

# "k1": 'asdf',

# True: "123",

# # [11,22]: 123

# (11,22): 123,

# # {'k1':'v1'}: 123

#

# }

# print(info)

4 字典无序

# info = {

# "k1": 18,

# "k2": True,

# "k3": [

# 11,

# [],

# (),

# 22,

# 33,

# {

# 'kk1': 'vv1',

# 'kk2': 'vv2',

# 'kk3': (11,22),

# }

# ],

# "k4": (11,22,33,44)

# }

# print(info)

5、索引方式找到指定元素

# info = {

# "k1": 18,

# 2: True,

# "k3": [

# 11,

# [],

# (),

# 22,

# 33,

# {

# 'kk1': 'vv1',

# 'kk2': 'vv2',

# 'kk3': (11,22),

# }

# ],

# "k4": (11,22,33,44)

# }

# # v = info['k1']

# # print(v)

# # v = info[2]

# # print(v)

# v = info['k3'][5]['kk3'][0]

# print(v)

6 字典支持 del 删除

# info = {

# "k1": 18,

# 2: True,

# "k3": [

# 11,

# [],

# (),

# 22,

# 33,

# {

# 'kk1': 'vv1',

# 'kk2': 'vv2',

# 'kk3': (11,22),

# }

# ],

# "k4": (11,22,33,44)

# }

# del info['k1']

#

# del info['k3'][5]['kk1']

# print(info)

7 for循环

# dict

# info = {

# "k1": 18,

# 2: True,

# "k3": [

# 11,

# [],

# (),

# 22,

# 33,

# {

# 'kk1': 'vv1',

# 'kk2': 'vv2',

# 'kk3': (11,22),

# }

# ],

# "k4": (11,22,33,44)

# }

# for item in info:

# print(item)

#

# for item in info.keys():

# print(item)

# for item in info.values():

# print(item)

# for item in info.keys():

# print(item,info[item])

# for k,v in info.items():

# print(k,v)

# True 1 False 0

# info ={

# "k1": 'asdf',

# True: "123",

# # [11,22]: 123

# (11,22): 123,

# # {'k1':' v1'}: 123

#

# }

# print(info)

今天的内容真的真的很多,我还有一些方法没来的及整理,感觉明天中午的任务非常艰巨啊

下面是每个部分的方法

list的:

extend(参数要求:可迭代) 将可迭代参数逐个加入原有列表中 li = ["a","b","c"] li.extend(["a","b"])结果是['a', 'b', 'c', 'a', 'b']

append(无参数要求)li = ["a","b","c"]li.append(["a","b"])结果是['a', 'b', 'c', ['a', 'b']]

clear清空列表 count()计算制定元素个数

index(value,start = none,end = none)从左向右查找制定参数索引位置

insert(插入索引位置num,制定内容)向制定索引位置增加参数

pop(索引) 删除一个值,并获得该值,如不设置索引则直接删除最后一个

remove(指定参数) 从左向右删除第一个指定参数,可限制范围

sort(self, key = none, revorse = false/true)false从小到大重新排序列,true则从大到小

元组的基本类似

字典

字典记住三个 keys、values、items,分别表示获得k值,获得v值,和获得一堆键值对

dict.fromkeys的作用,生成字典

v = dict.fromkeys(['a', 'b', 'c'],19)

print(v)

#结果{'c': 19, 'a': 19, 'b': 19}

get(索引,设置的默认值)根据索引查找value值,如果没有找到则输出默认值或none

pop(索引,默认值)根据索引查找,并删除索引所对应的键值对,不存在则输出默认值或none

popitem随机删除一对键值对

setdefault( k : v )或者(k = v) 向字典中设置键值对,如果对应索引已存在,则获取当前索引所对应的v值,不存在对应索引则增加该键值对

update( k : v )或者(k = v) 向字典中设置键值对,如果对应索引已存在,则覆盖当前索引所对应的v值,即将原字典中的v值更新,不存在对应索引则增加该键值对

哎呀呀,总算说完了,今天内容很多,还是得多练习啊,是不是各位大神看了觉得我脑残,都是从脑残走过来的,我脑残就脑残吧,智商只是buff,我攻速很快哦,要睡觉了,明天见。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值