python列表

python全栈day5

倾然丶 夕夏残阳落幕 提交于 2020-03-09 03:22:15
字符串格式化输出 name = input("Name:")#输入你的名字age = int(input("Age:"))#输入你的年龄job = input("Job:")#输入你的行业salary = input("Salary:")#输入你的收入if salary.isdigit(): #长得像不像数字 salary = int(salary)# else:# #print(must input digit)# exit("must input digit") #退出程序# %d只能输入数字,%s 占位符 %f 浮点数 约等于小数msg = '''-------------- info of %s -------------Name: %sAge: %dJob: %sSalary: %fYou will be retired in %s years-------------- end -------------''' % (name,name,age,job,salary,60-age)print(msg) 数据类型初识 1、数字 2 是一个整数的例子。 长整数 不过是大一些的整数。 3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。 (-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数

01: 数组

我们两清 提交于 2020-03-09 00:39:53
算法面试其他篇 目录: 1.1 简单数组题   1、去除列表中相加等于指定数后的列表(x+y=4)       [1,3,5,7,1,2] ==> [5,7,1,2] [1,3,3,5,7,1,2] ==> [3,5,7,1,2] #! /usr/bin/env python # -*- coding: utf-8 -*- def func(l, tag=4): for i in range(len(l)): a = l[i] if a != None: b = tag - a try: index = l.index(b) if index != i: # 避免 2 + 2 = 4只有一个2也没重置为None l[i] = None l[index] = None else: if l.count(b) > 2: # 如果有两个就都重置为 None l[i] = None l[l.index(b)] = None except Exception as e: pass print l # [None, None, 5, 7, 1, 2] while None in l: l.remove(None) return l # [5, 7, 1, 2] l = [1,3,5,7,1,2] print func(l, 4) ''' [1,3,5,7,1,2] [None, None, 5

python 语法基础篇----列表元祖和字典

点点圈 提交于 2020-03-09 00:31:38
序列是python最基本的数据结构 一、通用序列操作 1.索引 类似于C语言数组的下标,从0开始 greeting = 'hello' greeting[0] 'h' greet=‘hello’ 2.分片 与使用索引来访问单个元素类似,可以使用分片来访问操作一定范围内的元素,分片通过冒号相隔的两个索引来实现 numbers = [1,2,3,4,5,6,7,8,9,10] numbers[3:6] [4,5,6] numbers = [1,2,3,4,5,6,7,8,9,10] //从尾部开始计数 numbers[-3:] [8,9,10] numbers = [1,2,3,4,5,6,7,8,9,10] numbers[:3] [1,2,3] numbers = [1,2,3,4,5,6,7,8,9,10] numbers[:] [1,2,3,4,5,6,7,8,9,10] 步长---分片操作是按照部长来操作的,步长是1,就相当于i=i+1,来遍历, 步长是2,就相当于i=i+2,来遍历 numbers = [1,2,3,4,5,6,7,8,9,10] numbers[0:6:2]//下标为0到6的列表元素,已每次增加2操作 ‘1,3,5’ 3.序列相加 使用+号可以使序列相连接,但是只符合相同类型相加,不同类型不能相加,字符串+列表就不可以 4.乘法 5.成员资格 6.长度

python 全栈开发,Day4(列表切片,增删改查,常用操作方法,元组,range,join)

流过昼夜 提交于 2020-03-08 17:23:43
一、列表 列表是python中的基础数据类型之一,它是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如: li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}] 列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据。列表是有序的,有索引值,可切片,方便取值。 索引,切片,步长 li = ['xiao',123,True,(1,2,3,'wusir'),[1,2,3,'小明',],{'name':'xiao'}] print(li[0]) print(li[2]) print(li[1:4]) print(li[:5:2]) #倒着取,后2个 print(li[-1:-3:-1]) 执行输出: xiao True [123, True, (1, 2, 3, 'wusir')] ['xiao', True, [1, 2, 3, '小明']] [{'name': 'xiao'}, [1, 2, 3, '小明']] 下面介绍列表的增、删、改、查 增 append() 追加,在最后一个位置添加元素 li = [1,'a','b',2,3,'a','laonaihai'] li.append('xiao') print(li) 执行输出: [1, 'a', 'b', 2, 3,

python的列表数据类型及常用操作

有些话、适合烂在心里 提交于 2020-03-08 09:25:36
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 列表可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。 列表的数据项不需要具有相同的类型创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。 如下所示: list1 = ['physics', 'H2O', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", "b", "c", "d"] 列表的切片操作 : l[0:2] 取列表的第一到第二个元素 l[2:5] 取列表的第三到第四个元素 l[::2] 间隔取列表元素1、3、5....l[:7:2] 取第一到第六个元素后再间隔的取取出的元素 列表的常用操作如下所示 : li=['day', 'eric', 'rain'] 计算列表长度并输出 print(len(li)) 3 查找元素“eric”对应索引 print(li.index("eric"))1 列表中追加元素“seven” li.append("seven") 在列表的第1个位置插入元素“Tony” li.insert(0, "tony") 修改列表第2个位置的元素为

Python列表中的字典按照该字典下的键值进行排序

a 夏天 提交于 2020-03-08 07:06:28
列表中的字典按照该字典下的键值进行排序 这算是排序中比较复杂的一种情况吧,多重嵌套,按照某种规则进行排序。 如下面这个json(注:这里这是该列表中的一个项): [ { "stat": { "question_id": 1339, "question__article__live": null, "question__article__slug": null, "question__title": "Team Scores in Football Tournament", "question__title_slug": "team-scores-in-football-tournament", "question__hide": false, "total_acs": 348, "total_submitted": 656, "frontend_question_id": 1212, "is_new_question": true }, "status": null, "difficulty": { "level": 2 }, "paid_only": true, "is_favor": false, "frequency": 0, "progress": 0 }, { "stat": { "question_id": 1337, "question__article__live"

python学习笔记(进阶)

青春壹個敷衍的年華 提交于 2020-03-08 06:03:32
阅读目录 一、 *args与**kwargs的用法 二、使⽤ *args 和 **kwargs 来调⽤函数 三、⽣成器(Generators) 四、Map,Filter 和 Reduce 五、set(集合)数据结构 一、 *args与**kwargs的用法 args 和 **kwargs 主要⽤于函数定义。 你可以将不定数量的参数传递给⼀个函数。 这⾥的不定的意思是:预先并不知道, 函数使⽤者会传递多少个参数给你, 所以在这个场景下使⽤这两个关键字。 *args 是⽤来发送⼀个⾮键值对的可变数量的参数列表给⼀个函数. def test_var_args ( f_arg , * argv ) : print ( "First normal arg:" , f_arg ) for arg in argv : print ( "another arg through *argv:" , arg ) test_var_args ( 'yasoob' , 'python' , 'eggs' , 'test' ) 运行结果: ** kwargs 允许你将不定长度的键值对, 作为参数传递给⼀个函数。 如果你想要在⼀个函 数⾥处理带名字的参数, 你应该使⽤**kwargs。 def greet_me ( ** kwargs ) : for key , value in kwargs . items

Python 的列表排序

不问归期 提交于 2020-03-08 02:45:20
在 Python 中, 当需要对一个 list 排序时, 一般可以用 list.sort() 或者 sorted(iterable[, cmp[, key[, reverse]]]). 其中: cmp(e1, e2) 是带两个参数的比较函数, 返回值: 负数: e1 < e2, 0: e1 == e2, 正数: e1 > e2. 默认为 None, 即用内建的比较函数. key 是带一个参数的函数, 用来为每个元素提取比较值. 默认为 None, 即直接比较每个元素. reverse 是一个布尔值, 表示是否反转比较结果. 我以前在做比较复杂的排序时, 喜欢写一个定制的 cmp 函数. 当我看了 Python 文档后, 发现我的做法是不好的. 简单说明如下: 1, 通常, key 和 reverse 比 cmp 快很多, 因为对每个元素它们只处理一次; 而 cmp 会处理多次. 也就是说, 同等情况下, 写 key 函数比写 cmp 函数要高效很多. 2, 对一些貌似比较复杂的排序, 也是不需要写 cmp 函数的, 举例如下: >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),] 用元素索引做 key: >>> sorted(students, key=lambda student:

python数据结构之列表和元组的详解

烈酒焚心 提交于 2020-03-08 02:33:32
这篇文章主要介绍了python数据结构之列表和元组的详解的相关资料,希望通过本文能帮助到大家,让大家彻底理解掌握这部分内容,需要的朋友可以参考下 python数据结构之 列表和元组 序列:序列是一种数据结构,它包含的元素都进行了编号(从0开始)。典型的序列包括列表、字符串和元组。其中,列表是可变的(可以进行修改),而元组和字符串是不可变的(一旦创建了就是固定的)。序列中包含6种内建的序列,包括列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。 列表的声明: mylist = [ ] 2.列表的操作: (1) 序列的分片: 用法:mylist [ startIndex:endIndex:step ] exam: mylist [ 2:10 ] 检索第2个字符到第10个字符,默认步长为1. mylist [ 2:10:2 ] 检索第2个字符到第10个字符,指定步长为2. mylist [ -2:-1:2 ] 正数索引是相对于首部的坐标,负数是相对于尾部的坐标。其实坐标一定要小于终止坐标,否则返回空的分片。 mylist [ -12:-2:-2 ] 步长也可以是负数,表示从右向左提取元素。 (2) 序列的索引: 用法:mylist [ index ] exam: mylist [ 2 ] mylist [ -2 ] ps:正数是相对于首部的坐标

python数据结构之列表和元组的详解

自古美人都是妖i 提交于 2020-03-06 11:59:09
  python数据结构之 列表和元组   序列:序列是一种数据结构,它包含的元素都进行了编号(从0开始)。典型的序列包括列表、字符串和元组。其中,列表是可变的(可以进行修改),而元组和字符串是不可变的(一旦创建了就是固定的)。序列中包含6种内建的序列,包括列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。   列表的声明:   mylist = []   2.列表的操作:   (1) 序列的分片:   用法:mylist[startIndex:endIndex:step]   exam:   mylist[2:10] 检索第2个字符到第10个字符,默认步长为1.   mylist[2:10:2] 检索第2个字符到第10个字符,指定步长为2.   mylist[-2:-1:2] 正数索引是相对于首部的坐标,负数是相对于尾部的坐标。其实坐标一定要小于终止坐标,否则返回空的分片。   mylist[-12:-2:-2] 步长也可以是负数,表示从右向左提取元素。   (2) 序列的索引:   用法:mylist[index]   exam:   mylist[2] mylist[-2]   ps:正数是相对于首部的坐标,负数是相对于尾部的坐标。   (3) 序列相加:   用法: mylist1 + mylist2 <==> [1,2] + [3,4]