第四天,感觉时间还是过得很快,今天内容确实有点多,关于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. too many open files异常及解决办法

    1.问题描述: 最近项目中由于大批量的操作文件,项目部署在Linux服务器上,突然发现出现了 too many open files异常. 经过一番查阅,(直译过来就是文件打开数过多)但是查阅了相关的 ...

  2. mongoose pushall不支持的错误记录

    该错误发生两次,第一次解决以后第二次碰到又没有想起来怎么解决. 因为采用mongoose+node的后端项目.有两个表实现多对多关系,再中间表不做关联,只在两个主表做了 testlist: [{ ty ...

  3. ALSA Lib-简单的播放例子

    参考:https://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html #include <stdio.h&g ...

  4. Spring里面AOP的和IOC的理解

    1.Spring里面AOP的理解:https://www.cnblogs.com/hongwz/p/5764917.html例如日志功能.日志代码往往横向地散布在所有对象层次中,而与它对应的对象的核心 ...

  5. .Net Core 智能提示汉化包

    在.Net Core 2.x 版本,Microsoft 官方没有提供 .Net Core 正式版的多语言安装包.因此,我们在用.Net Core 2.x 版本作为框架目标编写代码时,智能提成是英文的. ...

  6. JavaScript-事件处理程序

    DOM事件流: 1.事件冒泡 2.事件捕获 DOM2事件流: 1.事件捕获阶段 2.处于目标阶段 3.事件冒泡阶段 DOM3事件 事件处理程序: 1.HTML事件处理程序: 例一:<input ...

  7. JMeter压测MongoDB

    1.下载mongo-java-driver驱动 官方驱动: https://mongodb.github.io/mongo-java-driver/ 或者Maven: https://mvnrepos ...

  8. Tickets HDU - 1260 简单dp

    #include<iostream> using namespace std; const int N=1e5; int T,n; int a[N],b[N]; int dp[N]; in ...

  9. 洛谷P3367 【模板】并查集 模板 找baba

    链接https://www.luogu.org/problem/P3367 #include<bits/stdc++.h> using namespace std; ; int fa[ra ...

  10. IOU 选框和真实框重叠部分占两个总框并集的比例

    IOU 选框和真实框重叠部分占两个总框并集的比例 IOU 召回率:表示在预测为的正类中,有多少正类被预测为正类 https://blog.csdn.net/qq_36653505/article/de ...