Python基础知识:列表
1、pop(i)删除列表任意位置元素,并继续使用它,如果括号为空,默认删除末尾
#pop()函数
guests=['Liming','Liuhan','Hanjieming']
for guest in guests:
print("I want to invite "+guest+" to have dinner with me.")
break_man=guests.pop(1)
print(break_man.title()+" can't keep the appointment.")
print(guests)
2、insert(位置,值)列表中按位置和值添加元素
#insert(位置,值)
new_guest="Hutian"
guests.insert(1,new_guest)
for guest in guests:
print("I want to invite "+guest+" to have dinner with me.")
print("\nI find a bigger table.\n")
guests.append("Xiaxue") #append()从末尾插入列表
print(guests)
3、del 删除列表中的任意元素
del guests[0]
print(guests)
4、切片:输出列表的一部分
#输出列表的一部分
students=['xiaoming','liuxing','huyu','huangniu','qiaogu']
print(students[:3])#前三个
print(students[3:])#从第四个到最后
print(students[-3:])#后三个
print(students[1:3])#第二个到第三个
#for循环,输出前三名学生的名字
print("\nThe first three students is:")
for student in students[:3]:
print(student.title())
5、sort()永久性排序;sorted()临时性排序
week_scores=['','','','','']
print(sorted(week_scores))
week_scores.sort(reverse=True)#倒序排列
print(week_scores)
week_scores.sort(reverse=False)#升序排列
print(week_scores)
6、reverse()倒着打印列表,只是翻转列表,并未排序
week_scores.reverse()
print(week_scores)
7、[:]使用切片复制整个列表
month_scores=week_scores[:]
print(month_scores)
8、len()确定列表长度,len可以求任何东西的长度
print(len(week_scores))
9、元组(tuple)内的元素不可修改,只能重新赋值
#元组
menu=('noodles','rice','steak','coke','bread')
for food in menu:
print(food)
new_menu=('noodles','rice','steak','coke','milk')
for new_food in new_menu:
print("\n",new_food)
10、list(range(1,5))创建数值列表
list(range(1,11,2))按指定步长创建数值列表,输出前十个奇数列表
#创建一个1-5的数值列表
numbers=range(1,5)
print(list(numbers))
#按指定步长创建数值列表
even_numbers=list(range(1,11,2))
print(even_numbers)
11、(**)两个星号表示乘方运算
#乘方运算
squares=[]
for value in range(1,11):
squares.append(value**2)
print(squares)
print(min(squares))#求最小值
print(max(squares))#求最大值
print(sum(squares))#求数值总和
12、列表解析:将for循环和创建新元素的代码合并为一行,并自动添加到列表
#将前10个数的平方依次加入列表
squares=[value**2 for value in range(1,11)]
print(squares)
13、count()统计个数和index()返回索引,判断列表中是否存在一个值,并替换它
#count()统计个数和index()索引
number = [10,22,33,10]
print(10 in number)
if 10 in number:
num_of_ten=number.count(10)#返回列表中10的个数
print("[%s] 10 is/are in number."%num_of_ten)#判断列表中有几个指定的值
#替换列表中的所有10
for i in range(num_of_ten):
ten_index=number.index(10)#返回索引
number[ten_index]=10000
print(number)
14、copy列表,修改原表和新表的值,互不影响;
列表中嵌套的列表只是一个地址,无论修改原列表中还是复制列表中的嵌套列表,嵌套的列表中的
值都会被改变。如果想改变嵌套列表中的值时,两个列表互不影响,就要使用函数deepcopy()
#调出copy库
import copy
number=[10,22,56,[33,10,45],99,34]
number2=number.copy() #普通copy
number[1]=200
number2[1]=500
number[3][0]=''
number2[3][1]=''
print(number)
print(number2)
#深度copy,完全复制嵌套列表中的数值,两个列表互不影响
number3=copy.deepcopy(number)
number[3][0]='aaa'
number3[3][1]='jjjj'
print(number)
print(number3)
15、extend()扩展列表
#将括号内的列表加到第一个列表末尾
num=[1,2]
num2=[1,2,3]
num.extend(num2)
print(num)
16、enumerate()以枚举的方式打印列表的下标和元素
#枚举,返回索引和值
a = ['alex','alice','james']
for index,i in enumerate(a):
print(index,i)
17、删除列表中的重复值
#第一种方法,集合set(),顺序会变
numbers = [11,22,6,13,6,11,58,22]
numbers2 = list(set(numbers) )
print(numbers2)
#第二种集合法,按照原来列表的索引重新排序
numbers2 = list(set(numbers) )
numbers2.sort(key=numbers.index)
print(numbers2)
#第三种方法保留原来的顺序,从前往后删
numbers = [11,22,6,13,6,11,58,22]
for i in numbers:
if numbers.count(i) > 1:
numbers.remove(i)
print(numbers)
18、练习题:删除列表中重复3次及以上的数值
list=[1,1,1,2,2,2,3,3,4,4]
for i in list:
if list.count(i)>2:
list.remove(i)
print(list)
19、练习题:将一个列表中重复3次以下的数值插入到另一个列表中,且不能重复
list=[1,1,1,2,2,2,3,3,4,4]
list2=[]
for i in list:
if list.count(i) < 3:
if i not in list2:
list2.append(i)
print(list2)
20、练习题:for循环猜年龄
#for循环练习
age=26
counter=0
for i in range(10):
print("--counter:",counter)
if counter <3:
guess_number=int(input("your guess number:"))
if guess_number==age:
print("Congretulations,you got it!")
break
elif guess_number>age:
print("Think smaller.")
else:
print("Think bigger.")
else:
continue_confirm=input("do you want to try continue:")
if continue_confirm=="y":
counter=0
continue
else:
break
counter=counter+1
Python基础知识:列表的更多相关文章
- python 基础知识 列表的 增删改查 以及迭代取值
""" python 列表 通用方法 元组.数组.字典 取值方法 [] 列表中可以存储不同类型的数据 函数 封装了独立的功能可以直接调用 函数名(参数) 方法 和函数类似 ...
- python基础知识-列表,元组,字典
列表(list) 赋值方法: l = [11,45,67,34,89,23] l = list() 列表的方法: #!/usr/bin/env python class list(object): & ...
- Python基础知识--列表和集合
列表:有序性,可以存放任意类型的对象,通过索引访问,可以分片操作 >>> L = ['id', 1000, 'scd', 1000, 'scd'] >>> L [' ...
- python基础知识-列表的排序问题
def main(): f=['orange','zoo','apple','internationalization','blueberry'] #python 内置的排序方式默认为升序(从小到大) ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
随机推荐
- HDFS-Architecture剖析
1.概述 从HDFS的应用层面来看,我们可以非常容易的使用其API来操作HDFS,实现目录的创建.删除,文件的上传下载.删除.追加(Hadoop2.x版本以后开始支持)等功能.然而仅仅局限与代码层面是 ...
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(二十四):权限控制(Shiro 注解)
在线演示 演示地址:http://139.196.87.48:9002/kitty 用户名:admin 密码:admin 技术背景 当前,我们基于导航菜单的显示和操作按钮的禁用状态,实现了页面可见性和 ...
- redis linux(centos) 安装
前言 redis 大家都使用过, 可以安装在windows下, 也可以安装在linux下, 一般还是linux下安装比较多. 这里来介绍一下redis在linux下的安装 一. 下载 https:// ...
- 深入理解L1、L2正则化
过节福利,我们来深入理解下L1与L2正则化. 1 正则化的概念 正则化(Regularization) 是机器学习中对原始损失函数引入额外信息,以便防止过拟合和提高模型泛化性能的一类方法的统称.也就是 ...
- EOS多节点组网:商业场景分析以及节点启动时序
区块链公链都是基于p2p网络,本篇文章将建立一个多节点不同职责参与的EOS的测试网络,根据路上发现的可做文章的技术点大做文章. 关键字:EOS组网,全节点,交易确认,boot sequence,sta ...
- 逆向知识之CS1.6辅助/外挂专题.1.实现CS1.6主武器副武器无限子弹
逆向知识之CS辅助/外挂专题.1.实现CS主武器副武器无限子弹 PS: 相信大家CS1.6这类的FPS应该玩过.现在我们通过外挂手法.讲解逆向的本质.以及应用. 关于CS1.6的下载.网络百度下载即可 ...
- 微信小程序https配置
先简单说下什么是https,https与http区别 ,以及https的原理 什么是https 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输 ...
- 【Elasticsearch全文搜索引擎实战】之Head插件实践
简介 Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Ap ...
- Spring Integration实现分布式锁
学习本篇之前,可以先看下文章 什么是分布式锁,了解下基本概念. 之前都是手写一个分布式锁,其实Spring早就提供了分布式锁的实现.早期,分布式锁的相关代码存在于Spring Cloud的子项目Spr ...
- [PHP] 数据结构-反转链表PHP实现
1.常见方法分为迭代和递归,迭代是从头到尾,递归是从尾到头2.设置两个指针,old和new,每一项添加在new的后面,新链表头指针指向新的链表头3.old->next不能直接指向new,而是应该 ...