python列表

Python学习day4(列表,元组,range()方法)

北慕城南 提交于 2020-03-23 02:46:37
列表: 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘hyg’,123,Ture,(1,2,3,’hum’),[1,2,3,’小明’,],{‘name’:’lyy’}] 列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。 列表中通过 索引,切片,切片+步长 操作与字符串中一样 列表的增、删、改、查及其他方法 增 # append 追加 li = [1, 3, 'hyg', [2], 5] li.append(9) print(li) #显示:[1, 3, 'hyg', [2], 5, 9] #insert 按索引插入在钙索引前 li = [1, 3, 'hyg', [2], 5] li.insert(1, '宝元') print(li) #显示:[1, '宝元', 3, 'hyg', [2], 5] # extend 迭代着追加 li = [1, 3, 'hyg', [2], 5] li.extend('abc') print(li) #显示:[1, 3

python之列表与字典

心已入冬 提交于 2020-03-22 15:52:46
list 列表,是一种有序的集合,可以随时添加和修改元素,元素可以是任意类型。 定义方式有两种,直接赋值或使用list类的构造方法: li1 = ["aaa",111,True,[1]] 或: li2 = list([["aaa",111,True,[1]]])   注:list()方法里传入的参数是一个序列,不一定需要是list的数据,list,tuple,dict,set类型的数据都可以看作是一个序列 使用索引,可以访问list中的每一个元素,索引从0开始,如: >>>li1(0) 'aaa' >>>li1(1) 111 索引使用负号,可以从list的最后一位开始访问,如: >>>li1(-1) [1] >>>li1(-2) True 当索引超出范围时,python会报IndexError的错 同时也可以通过索引的方式来直接修改list中的元素,如: >>> li1[2] = False >>>li1 ['aaa', 111, False, [1]] list的基本方法: len():返回list的长度 append():在list的末尾追加元素 pop():根据索引删除元素(默认为最后一个元素),返回对应位置的元素 remove():根据元素进行删除,存在多个相同的元素时,一次只删除第一个,要删除的元素不存在时,报错 insert(1,'a'):指定位置插入元素

python基础笔记

假如想象 提交于 2020-03-22 11:44:14
1 基本配置及基础语法(1, 2 章) 1 Python.exe 的解释器 options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo 文件) 1.3 –S 不导入 site 模块以在启动时查找 python 路径 1.4 –v 冗余输出(导入语句详细追踪) 1.5 –m mod 将一个模块以脚本形式运行 1.6 –Q opt 除法选项(参阅文档) 1.7 –c cmd 运行以命令行字符串心事提交的 python 脚本 1.8 file 以给定的文件运行 python 脚本 2 _在解释器中表示最后一个表达式的值. 3 print 支持类 c 的 printf 格式化输出: print “%s is number %d!” % (“python”, 1) 4 print 的输入内容后面加逗号, 就会使其输入不换行 5 把输出重定向到日志文件: logfile = open(“c:/1.log”, “a”); //打开文件 c:/1.log 使用 a 模式..即 add, 添加. print >> logfile, “Fatal error: invalid input!”; >>为重定向..将 print 的结果重定向到 logfile, 输 出内容是”Fatal error: invalid input!”… logfile.close(); /

python序列(八)列表推导式实列

陌路散爱 提交于 2020-03-22 08:39:52
1.列表推导式列表推导能非常简洁的构成一个新列表:只用一条简洁的表达式即可对得到的元素进行转换变形。    格式:[表达式 for 变量 in 列表]或[表达式 for 变量 in 列表 if 条件]    过滤条件可有可无,取决于实际应用,只留下表达式 >>> list =[x*x for x in range(10)] 相当于 >>> alist= [] >>> for x in range(10): 也相当于 >>> list= list(map(lambda x:x*x,range(10))) 2.阿凡提与国王比赛下棋,国王说要是izji输了的话阿凡提想要什么他都可以拿的出来。阿凡提说那就要点米吧,棋盘一共64个小格子,在第三个格子里放四粒米,第四个格子里放8粒米,以此类推,后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。需要多少粒米? >>> sum([2**i for i in range(64)]) 18446744073709551615 3.使用列表推导式实现嵌套列表的平铺 >>> vec=[[1,2,3],[4,5,6],[7,8,9]] >>> [num for elem in vec for num in elem] [1, 2, 3, 4, 5, 6, 7, 8, 9]相当于 >>> vec=[[1,2,3],[4,5,6],[7,8,9

Django——admin组件简单入门

允我心安 提交于 2020-03-22 01:41:21
Django-admin管理工具 一、admin组件使用 Django 提供了基于 web 的管理工具。 Django 自动管理工具是 django.contrib 的一部分。你可以在项目的 settings.py 中的 INSTALLED_APPS 看到它: # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', "app01" ] django.contrib是一套庞大的功能集,它是Django基本代码的组成部分。 1.激活管理工具 通常我们在生成项目时会在 urls.py 中自动设置好, from django.conf.urls import url from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), ] 当这一切都配置好后,Django 管理工具就可以运行了。 2.使用管理工具 启动开发服务器

Python高级特性之切片

家住魔仙堡 提交于 2020-03-21 22:07:39
取一个list或tuple的部分元素是非常常见的操作,使用循环显得十分繁琐,但是Python提供了切片操作符(Slice),能很简单的完成对列表或者元组进行取值。接下来根据列表L和L2写几个例子, L = ['tom','bob','mary','lisa','jack'] L2= list(range(50)) 1.L[0:3] L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素 2.L[:3] 如果第一个索引是0,还可以省略 3.L[1:] 取索引为1到末尾的值 4.L[-2:] 倒数第第二个元素到末尾,倒数第一个元素是L[-1] 5.L2[:10] 取前十个值 6.L2[-10:] 取后十个值 L2[10:20] 前11-20个数 L2[:20:2] 前10个数,每两个取一个 9.L2[::10] 所有数 每隔十个取一个 来源: 51CTO 作者: swq8023 链接: https://blog.51cto.com/8922100/2480729

python序列(七)序列操作的常用内置函数

ⅰ亾dé卋堺 提交于 2020-03-21 18:36:28
1.len(列表):返回:列表中的元素个数,同样适用于元组、字典、集合、字符串等。   max(列表)、min(列表):返回列表中的最大或最小元素同样适用于元组、字典、集合、range对象等。   sum(列表):对列表的元素进行求和运算,对非数值型列表运算需要指定start参数,同样适用于元组、range。 >>> sum(range(1,11))    #sum()函数的start参数默认为0 55 >>> sum(range(1,11),5)   #指定start参数为5 60>>> sum([[1,2],[3],[4]],[])#这个操作占用空间较大,慎用 [1, 2, 3, 4] 2.zip()函数返回可迭代的zip对象   zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。   如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用*号操作符,可以将元组解压为列表。 >>> alist = [1,2,3] >>> blist = [4,5,6] >>> clist =zip(alist,blist)  #返回zip对象 >>> clist <zip object at 0x00000216BC8428C0> >>> list(clist)          #把zip对象转换成列表 [(1, 4),

python序列(六)列表排序

情到浓时终转凉″ 提交于 2020-03-21 18:24:01
  1.sort方法排序原址排序     list.sort(key=None,reverse=False(or True))     当reverse=False时:为正向排序;     当reverse=True时:为反向排序。     默认为False。   2.key:排序关键字,值为一个函数,此函数只有一个参数且返回一个值,比如,有一个User对象的list,希望通过对象的user_id树形进行排序,可以提供一个以User实例作为输入并输出对应user_id值得函数给key(即key=lambda u:uuser_id或key=attrgetter(‘user_id’))   3.执行完后会改变原来的list,如果你不需要原来的list,这种效率稍微高点 >>> list = [1,2,3,4,5,6,7,8,9] >>> list [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> import random>>> random.shuffle(list)    #打乱顺序 >>> list [8, 1, 9, 2, 4, 3, 5, 6, 7] >>> list.sort()          #默认是升序排序 >>> list.sort(reverse = True)  #降序排序 >>> list [9, 8, 7, 6, 5, 4, 3, 2, 1]

python序列(三)列表元素访问与计数

大城市里の小女人 提交于 2020-03-21 18:15:58
  1.使用下标直接访问列表元素,如果指定下标不存在,则抛出异常。 >>> alist[3] 1 >>> alist[3]=5.5 >>> alist [1, 3, 5, 5.5, 3, 5, 1, 3, 5] >>> >>> alist[15] Traceback (most recent call last): File "<pyshell#97>", line 1, in <module> alist[15] IndexError: list index out of range   2.使用列表对象的index()方法获取指定元素首次出现的下标,若列表对象中不存在指定元素,则抛出异常。 >>> alist [1, 3, 5, 5.5, 3, 5, 1, 3, 5] >>> alist.index(3) 1 >>> alist.index(100) Traceback (most recent call last): File "<pyshell#102>", line 1, in <module> alist.index(100) ValueError: 100 is not in list   3.count()方法统计指定元素在列表对象中出现的次数 >>> alist [1, 3, 5, 5.5, 3, 5, 1, 3, 5] >>> alist.count(3) 3

Python习题集(十)

北慕城南 提交于 2020-03-21 17:21:58
每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 使用列表生成式语法,将列表中[1, 3, -3, 4, -2, 8, -7, 6],找出大于0的数 解题思路 列表生成式 + 三元表达式 答案 a = [1, 3, -3, 4, -2, 8, -7, 6] a = [x for x in a if x > 0] print(a) 来源: https://www.cnblogs.com/poloyy/p/12540017.html