列表 字典

一、列表

1.定义:

  •  stus = ["s1","s2","s3","s4","s5","s6","s7"]  #List 列表 数组

            用中括号定义,逗号隔开

stus2 = [] #空的列表
stus3 = list() #空的列表  【定义空的列表便于往里边添加数据】

 2.增加:

  • stus.append("bai") #在list末尾增加一个元素
  • stus.insert(0,"yu") #在指定位置增加元素
  • stus.insert(9,"nn") #指定的下标不存在,那么会把元素插入到最后
    print(stus)

运行结果:['s1', 's2', 's3', 's4', 's5', 's6', 's7', 'bai']

              :['yu', 's1', 's2', 's3', 's4', 's5', 's6', 's7', 'bai']

 

3.查:

  • print(stus[3]) #单个取
    print(stus[-1]) #取最后一个元素

4.改:

  • stus[0]="baibai" 
    print(stus)

运行结果:['baibai', 's2', 's3', 's4', 's5', 's6', 's7']

 

5.删除:

  • stus.pop()  #默认删除list里面最后一个元素
    stus.pop(2) #删除指定位置的元素
    stus.pop(9) #删除指定不存在的元素,会报错

 报错信息:IndexError: pop index out of range

  • del stus[0] #删除指定位置的元素
    print(stus)
  • stus.remove('s4')#删除指定名称的元素
    print(stus)
  • stus.remove('s5')#如果list里面有多个一样的元素,那么就只会删掉一个
    stus.remove('gg')#删除不存在的元素,会报错
    print(stus)

报错信息:

stus.remove('gg')
ValueError: list.remove(x): x not in list

 

6.list其他常用方法

  • new_stus = stus.copy() #复制一个新list
    print(new_stus)
  • count = stus.count('s5') #某个元素在list里面的数量
  • stus.clear() #清空list
  • news_stus = stus.copy() #复制一个
    print(news_stus)
stus = ['s1','s2','s3','s3','s4','s5','s5']
  • stus.reverse()#反转
    print(stus)

运行结果:['s5', 's5', 's4', 's3', 's3', 's2', 's1']

 

stus = ['1','2','4','3','9','14','5']
  • stus.sort()#正序排序
      print(stus)
  • stus.sort(reverse=True) #倒序排序
      print(stus)

运行结果:['1', '14', '2', '3', '4', '5', '9']
['9', '5', '4', '3', '2', '14', '1']

反转的运行结果:['5', '14', '9', '3', '4', '2', '1']

  • stus.extend(stus1) #把一个list的元素加入另一个list里面
    print('extend',stus)

运行结果:extend ['s1', 's2', 's3', 's3', 's4', 's5', 's5', '1', '2', '4', '3', '9', '14', '5']

  • result = stus.index('s8')#查找列表中某个元素的下标
    print(result)
    #查找列表中不存在的元素 会报错

7.多维数组

 1 num1 = [1,2,3,4,['a','b','c','d']] #2维数组
 2 num2 = [1,2,3,4,['a','b','c','d',['dev','test','pre']]] #3维数组
 3 
 4 print(num2[4][4][2])
 5 运行结果:pre
 6 
 7 列表循环
 8 stus = ['baibai','chenquan','niunihu']
 9 第一种方法:
10 #username=''
11 password='123456'
12 #sql='insert into user(username,password) value ("%s","%s");'%(username,password)
13 
14 index = 0
15 while index < len(stus):
16     username = stus[index]
17     username = 'szz-'+ username
18     sql = 'insert into user(username,password) value ("%s","%s");' % (username, password)
19     print(sql)
20     index+=1
21 
22 运行结果:insert into user(username,password) value ("szz-baibai","123456");
23                  insert into user(username,password) value ("szz-chenquan","123456");
24                  insert into user(username,password) value ("szz-niunihu","123456");
25 
26 第二种方法:【最简单的方法】
27 stus = ['baibai','chenquan','niunihu'] #for循环直接循环一个list,就是取list里面的每一个元素
28 for stu in stus:
29     print('每次循环的值',stu)
30     username = 'szz' + stu
31     print(username)
32 
33 第三种方法:
34 l = list(range(3))
35 print(l)
36 
37 for i in range(len(stus)): #这种方法也相当于是用下标取值
38     username = stus[i]
39     print(username)

 

8.list练习:账户和密码登录

 1 usernames = ['baibai','yaya','cc','niuniu']
 2 passwords = ['123456','abc123','324324','45656']
 3 
 4 #需要校验 用户不存在的话 要提示
 5 #需要校验是否为空
 6 #账户密码正确登录成功
 7 
 8 #最多输入三次
 9 #分析:
10 #1、输入账户密码
11 #2、校验是否输入为空
12 #3、校验账户否存在 list.count()
13 #4、从usernames里面找到user的下标,然后去password中去找对应的密码
14 today = '2019-03-25'
15 count = 0
16 while count < 3:
17     count+=1
18 #for i in range(3):      #for和while都可以  
19     username = input('username:').strip()
20     password = input('password:').strip()
21     if username == '' or password == '':
22         print('账户/密码不能为空!')
23     #elif usernames.count(username)==0: #判断元素的个数
24     elif username not in usernames: #两种方法都可以 判断元素是否在某个list里面
25         print('用户名不存在!')
26     else:
27         user_index = usernames.index(username) #登录用户的下标
28         p = passwords[user_index]
29         if password == p:
30             print('欢迎%s登录,今天的日期是%s.'%(username,today))
31             break
32         else:
33             print('密码错误!')
34 else:
35     print('错误次数已经用尽')

 

9.字典

 1 stu_info = {
 2     'username':'baibai',
 3     'password':'123456',
 4     'money':20,
 5     'addr':'北京'
 6 }
 7 
 8 #定义字典
 9 d1 = {} #创建空字典
10 d2 = dict() #创建空字典
11 
12 #增加元素
13 d1['name'] = '胖妞'
14 d1['age'] = 18
15 d1.setdefault('class','双子座')
16 print('之前的',d1)
17 
18 d1.setdefault('age','38')
19 #如果使用setdefault,key已经存在了,就不会修改原来key的值
20 
21 #修改
22 d1['name'] = '胖妞2'
23 print('之后的',d1)
24 
25 #取值
26 print(d1['name'])
27 print(d1.get('name'))
28 
29 print(d1['y'])#取一个不存在的key,报错keyError
30 print(d1.get('y'))#取一个不存在的key,返回none
31 
32 print(d1.get('kk',0))#不存在的值 返回0,默认返回none
33 
34 print(d1.keys()) #取到字典里面所有的key
35 print(d1.values()) #取到字典里面所有的value
36 运行结果:dict_keys(['name', 'age', 'class'])
37                  dict_values(['胖妞2', 18, '双子座'])
38 
39 #删除
40 d1.pop('name')
41 del d1['name']
42 d1.popitem()#随机删除一个元素
43 print(d1)
44 
45 d1.clear()#清空
46 print(d1)
47 运行结果:{}
48 
49 d2 = {'abc':1234}
50 d1.update(d2) #把字典2加到字典1里边
51 print(d1)
52 运行结果:{'name': '胖妞2', 'age': 18, 'class': '双子座', 'abc': 1234}

 

10.字典循环

 1 stus =[
 2     {'name':'bai','age':'17','addr':'北京'},
 3     {'name':'yaya','age':'23','addr':'上海'},
 4     {'name':'hu','age':'25','addr':'北京'},
 5     {'name':'wawa','age':'26','addr':'北京'},
 6        ]
 7 
 8 for stu in stus:
 9     stu['phone']='110'
10 print(stus)
11 
12 运行结果:[{'name': 'bai', 'age': '17', 'addr': '北京', 'phone': '110'}, {'name': 'yaya', 'age': '23', 'addr': '上海', 'phone': '110'}, {'name': 'hu', 'age': '25', 'addr': '北京', 'phone': '110'}, {'name': 'wawa', 'age': '26', 'addr': '北京', 'phone': '110'}]
13 
14 stus = {
15     "":
16         {
17             "house":['三环','四环','五环'],
18             "car":{
19                 "日本":["雷克萨斯","英菲尼迪"],
20                 "中国":["五菱宏光","红旗","比亚迪","宝骏"],
21                 "美国":["福特","凯迪拉克"]
22             },
23             "化妆品":{
24                 "SK-2":1000,
25                 "YSL":2000
26             }
27         }
28 }
29 
30 #统计一下白总用有多少辆车
31 #白又买了德国车2辆,奥迪,奔驰
32 #白的化妆品全被男朋友扔了
33 
34 car = stus[""]['car']
35 
36 count_car = 0
37 for c in car.values():
38     count_car = len(c)+ count_car
39 print(count_car)
40 运行结果:8
41 
42 car = stus[""]['car']
43 car["德国"]=["奥迪","奔驰"]
44 print(car)
45 运行结果:{'日本': ['雷克萨斯', '英菲尼迪'], '中国': ['五菱宏光', '红旗', '比亚迪', '宝骏'], '美国': ['福特', '凯迪拉克'], '德国': ['奥迪', '奔驰']}
46 
47 del stus['']['化妆品']
48 print(stus)
49 运行结果:{'': {'house': ['三环', '四环', '五环'], 'car': {'日本': ['雷克萨斯', '英菲尼迪'], '中国':['五菱宏光', '红旗', '比亚迪', '宝骏'], '美国': ['福特', '凯迪拉克']}}}
50 
51 ###第二种增加车的方式,没有上边那种方便
52 car = stus[""]['car']
53 new_car ={"德国":["benchi","bmw"]}
54 car.update(new_car)
55 print(car)
56 运行结果:{'日本': ['雷克萨斯', '英菲尼迪'], '中国': ['五菱宏光', '红旗', '比亚迪', '宝骏'], '美国': ['福特', '凯迪拉克'], '德国': ['benchi', 'bmw']}

 

转载于:https://www.cnblogs.com/baiby/p/10655483.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL执行外部sql脚本文件的命令( source命令执行sql )

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 sql脚本是包含一到多个sql命令的sql语句&#xff0c;我们可以将这些sql脚本放在一个文本文件中&#xff08;我们称之为“sql脚本文件”&…

【案例】数据量猛增,BI分析效率太低怎么破?

2019独角兽企业重金招聘Python工程师标准>>> 近日&#xff0c;Apache Kylin Innovation Meetup 在上海成功举办&#xff0c;有近200位小伙伴来到了现场。此次会议特别邀请到了金融、互联网等行业的技术伙伴分享了 Kylin 在行业中的实操应用 。今天将首先与大家分享演…

2020-3-25

题目一&#xff1a; JavaScript 数组随机不重复元素 实际应用可能需要从数组元素中随机取出几个元素&#xff0c;并且要保证这几个元素不重复。 有些数组可能有重复的元素&#xff0c;那么可能需要首先去除这些重复的元素。 代码与解析&#xff1a; var theArray[1,3,2,4,5,9,…

人生要小心处理的事

被人羞辱——翻脸不如翻身生气不如争气 有个成语叫做“恼羞成怒”&#xff0c;意思就是说&#xff0c;由于羞愧和恼恨而发怒。被人无情羞辱&#xff0c;只要是有自尊心的人都会愤怒&#xff0c;但问题是&#xff0c;愤怒过后你还会剩下什么?你是马上报复&#xff0c;以牙还牙;…

刷新SWAP分区方法

Linux VPS的使用过程中&#xff0c;SWAP交换分区是一个很重要系统缓存分区。他是在内存不够用的情况下&#xff0c;从硬盘中临时分出一部分空间系统当做内存使用。但是&#xff0c;如果SWAP的占用超过30%的时候&#xff0c;系统的性能就会受到影响&#xff0c;这时候就要刷新SW…

您收到一封 2019 阿里云峰会 (北京) 邀请函

为什么80%的码农都做不了架构师&#xff1f;>>> 摘要&#xff1a; 阿里云峰会&#xff08;北京&#xff09;开发者专场以“云原生和可见的云未来”为主题&#xff0c;不仅涵盖 2 场重大发布&#xff0c;更设置人工智能、机器学习、实时计算、云原生实践等国内外最热…

解决Based on configured schedule, the given trigger ‘triggerGroupName_FREEZE_JOB.triggerName_FREEZE...

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 报错如题、如下&#xff1a; Caused by: org.quartz.SchedulerException: Based on configured schedule, the given trigger triggerG…

2020-3-26

题目一&#xff1a; JavaScript 获取第n个li元素 下面有两种方法 <!DOCTYPE html> <html> <head> <meta charset" utf-8"> <style type"text/css"> ul{list-style:none} </style> <script> window.onloadfunct…

Django路由(url)

1.基本配置 from django.conf.urls import urlfrom . import viewsurlpatterns [url(r^articles/2003/$, views.special_case_2003),url(r^articles/([0-9]{4})/$, views.year_archive),url(r^articles/([0-9]{4})/([0-9]{2})/$, views.month_archive),url(r^articles/([0-9]{…

熟悉,不等于能力

我们经常会看到有些人做事情非常熟练&#xff0c;不但快手快脚&#xff0c;而且不慌不忙、气定神闲。心中不禁油然产生钦佩之情&#xff0c;同时也认为他的能力很好。 只要假以时日&#xff0c;每个人都能够从生手变熟手&#xff0c;同时是品质效率很好的“熟手” 对一样事情…

高性能、高可靠分布式文件系统 go-fastdfs v1.2.0 发布

开发四年只会写业务代码&#xff0c;分布式高并发都不会还做程序员&#xff1f; go-fastdfs是一个基于http协议的分布式文件系统&#xff0c;它基于大道至简的设计理念&#xff0c;一切从简设计&#xff0c;使得它的运维及扩展变得更加简单&#xff0c;它具有高性能、高可靠、…

mysql格式化小数保留小数点后两位(小数点格式化)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。在做项目的时候遇到一个问题&#xff0c;MYSQL格式化浮点数&#xff0c;保留两位小数点的问题。以下为个人在网上搜索普遍的答案&#xff…

2020-3-27

题目一&#xff1a; 通常情况下都从字符串的左边开始截取字符串&#xff0c;下面该如何从字符串的右边截取字符串。 代码如下 String.prototype.rightfunction(length_) { //获取字符串长度var _fromthis.length-length_; //截取后的字符串长度if(_from<0) _from0; ret…

zookeeper安装教程

1 安装环境 centos 7.4 jdk 1.8 zookeeper是java开发的&#xff0c;可以运行再windows,linux环境。 安装之前需要先安装号jdk. jdk的安装可以参见博文&#xff1a;http://www.cnblogs.com/jepson6669/p/8374699.html 2 安装过程 1 上传文件到Linux上 2 安装 1 解压到/usr/local…

读人、看人、做人(图)

读人 一个人就是一本书。读人&#xff0c;比读其他文字的书更难。在生活中&#xff0c;每个人都是书&#xff0c;每人又都是读者。我们认认真真地读&#xff0c;读了大半辈子&#xff0c;至今还没有读懂这本“人之书”。有首歌词是这样的&#xff1a;“明明白白我的心&#…

2020-3-28

题目一&#xff1a; 数组最大值和最小值 可以对数组进行一次遍历&#xff0c;通过比较&#xff0c;找到其最大&#xff08;最小&#xff09;值。或者使用简单的方法 Array.prototype.sort: var a [7,3,4,6,10]; a.sort(function(a,b){ return (a-b);}) console.log(a[0],a…

Python操作Excel删除一个Sheet

在使用Python进行数据分析处理&#xff0c;操作Excel&#xff0c;有时需要删除某个Excel里的某个sheet&#xff0c;这里记录一个我测试成功的一个办法 软件环境&#xff1a; 1、OS&#xff1a;Win 10 64位 2.Python 3.7 3、使用openpyxl这个库 4、在当前文件夹下准备一个xlsx格…

什么是 NoSQL 数据库、NoSQL 与 SQL 的区别

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 NoSQL 数据库是针对可扩展性能和无架构数据模型进行了优化的非关系数据库。 NoSQL 数据库也因其易于开发、延迟低且具有弹性而得到广泛…

mysql 索引的统计

查看一个库里面没有使用过的索引select object_type,object_schema,object_name,index_name,count_star,count_read,COUNT_FETCH from performance_schema.table_io_waits_summary_by_index_usage where object_schemabocat and count_star0 and count_read0and object_name no…

2020-3-29

题目一&#xff1a; JavaScript 获取div在页面中坐标 以div为例&#xff0c;获取一个元素在页面中的位置。 代码和 <!DOCTYPE html> <html> <head> <meta charset" utf-8"> <style type"text/css"> *{padding:0px;margin:0…