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

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

  

s = ""
a =
while a < :
v1 = input("用户名>>>")
v1 = v1[:]
v2 = input("密 码>>>")
v2 = v2[:]
v3 = input("邮 箱>>>")
v3 = v3[:] once = "{0}\t{1}\t{2}\n"
b = once.format(v1,v2,v3)
s = s + b
a += print(s.expandtabs())

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

一、列表list

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

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

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

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

  索引取值    print(li[3])

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

  for循环   while循环

   for item in li:
    print(item)

  1.索引进行修改:

li = [, , , "age", ["石振文", ["", ], "庞麦郎"], "alex", True]
li[] =
print(li)
li[] = [,,,]
print(li)

  2.删除 del  li[1]

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

  4.关于in的操作

# li = [, , , "age", ["石振文", ["", ], "庞麦郎"], "alex", True]
# v1 = "石振文" in li
# print(v1) #v1 = False
# v2 = "age" in li
# print(v2) #v2 = True

  5.查找深度索引

# li = [, , , "age", ["石振文", ["", ], "庞麦郎"], "alex", True]
# li[][][] #石振文所在位置

  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 = [,,,"","alex"]
# # r = str(li) # '[11,22,33,"123","alex"]'
# # print(r)
# s = ""
# for i in li:
# s = s + str(i)
# print(s)
# 直接使用字符串join方法:列表中的元素只有字符串
# li = ["","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'],)
print(v) #结果{'c': , 'a': , 'b': }

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

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

  popitem随机删除一对键值对

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

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

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

Python之旅第四天(列表、元祖、字典和习题)的更多相关文章

  1. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  2. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  3. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  4. Python学习笔记---切片 列表 元祖 字典 集合

    列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...

  5. python-基础-字符串-列表-元祖-字典2

    接上:http://www.cnblogs.com/liu-wang/p/8973273.html 3 元组 4 字典 4.1 字典的介绍 <2>软件开发中的字典 变量info为字典类型: ...

  6. Python基础5:列表 元祖 字典 集合

    [ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...

  7. python基础学习笔记第四天 list 元祖 字典

    一 LIST方法 列表操作包含以下函数:1.cmp(list1, list2):比较两个列表的元素 2.len(list):列表元素个数 3.max(list):返回列表元素最大值 4.min(lis ...

  8. python入门(五):切片列表元祖字典

    1.切片 针对序列,使用切片可以获得我们想要的内容 序列:字符串.列表.元祖 特点:可以使用坐标获取某一个值.坐标是从0开始算 >>> s="0123456789" ...

  9. Python基础5:列表 元祖 字典 集合 Json

    [ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...

  10. python学习之列表,元祖,字典

    python基础 列表  [ ] stats =[1,2,3,4,5] 元素1,2,3,4,5 下标,索引,角标,初始从0开始 增加 stats.append(7)#append方法添加 stats. ...

随机推荐

  1. (办公)记事本_linux压缩命令

    参考谷粒学院的linux视频教程:http://www.gulixueyuan.com/course/300/task/7091/show 在Linux中可以识别的常见的压缩格式有十几种,比如&quo ...

  2. windows2016_x64搭建ELK(datasource->filebeat->logstash->elasticsearch->kibana)

    windows2016_x64搭建ELK(datasource->filebeat->logstash->elasticsearch->kibana) 本文示例日志程序基于as ...

  3. vector内存分配简单介绍

    众所周知,vector的size()其实并不代表它占用的空间,它实际占用空间可以用capacity()查看 众所周知,push_back()时,如果size==capacity则会使capacity从 ...

  4. L001.PyQt

    초보자를 위한 Python GUI 프로그래밍 - PyQt5 https://wikidocs.net/book/2944 https://freeprog.tistory.com/330?cat ...

  5. 代数式到c语言表达式和常用的c语言数学库函数_pow_sqrt_exp_fabs_abs

    数学知识来源于生活,因此我们需要把相关的数学的知识在自己生活找到实例. #include "common.h" #include <stdio.h> #include ...

  6. Elasticsearch操作Document文档

    1.利用客户端操作Document文档数据        1.1 创建一个文档(创建数据的过程,向表中去添加数据)            请求方式:Post    请求地址:es所在IP:9200/索 ...

  7. Next.js 配置接口跨域代理转发

    使用 create-next-app 创建的 Next.js 项目配置接口跨域代理转发需要用到 custom server 功能. 先安装好 express 和 http-proxy-middlewa ...

  8. iframe中子父页面跨域通讯

    目录 #跨域发送信息 #跨域接收信息 #示例Demo 在非跨域的情况下,iframe中的子父页面可以很方便的通讯,但是在跨域的情况下,只能通过window.postMessage()方法来向其他页面发 ...

  9. salt 安装 以及salt-api使用

    salt--master    和 salt-minion 控制端 被控制端 通过 salt-api 访问 salt-master  来控制salt-minion 执行 命令  返回结果 LINUX ...

  10. Spring Event事件驱动

    Spring事件驱动模型,简单来说类似于Message-Queue消息队列中的Pub/Sub发布/订阅模式,也类似于Java设计模式中的观察者模式. 自定义事件 Spring的事件接口位于org.sp ...