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 ...
随机推荐
- k8s总结(脑图图片)
- .net 连接kafka
新建两个控制台项目,一个生产者,一个消费者,使用Nuget安装Confluent.Kafka 生产者 static void Main(string[] args) { var config = ne ...
- Java NIO中的通道Channel(一)通道基础
什么是通道Channel 这个说实话挺难定义的,有点抽象,不过我们可以根据它的用途来理解: 通道主要用于传输数据,从缓冲区的一侧传到另一侧的实体(如文件.套接字...),反之亦然: 通道是访问IO服务 ...
- CSS 基础:文本和字体(4)<思维导图>
这段时间利用一下间隙时间学习了CSS的基础知识,主要目的是加深对CSS的理解,虽然个人主要工作基本都是后台开发,但是个人觉得系统学习一下CSS的基础还是很有必要的.下面我学习CSS时做的思维导图(全屏 ...
- 如何在Lua与C/C++之间实现table数据的交换
之前在<C/C++和Lua是如何进行通信的?>一文中简单的介绍了lua与宿主之间的通信.简单的说两种不同的语言之间数据类型不一样又如何进行数据交换呢?那就是lua_State虚拟栈,通过栈 ...
- 用pip安装python库下载timeout的解决办法
我们直接用命令:pip install 库名,因网络太慢,导致下载超时~~~ 针对在安装Python库出现的超时问题---总结了如下两种解决方案: 其一:pip --default-timeout=1 ...
- Algolia使用教程 , 超详细傻子看都会
框架描述 发现网上Algolia这块的资料较少,就花了点时间从官网上整理了下,总结了几项常用的功能用法. 现在比较有名的Algolia提供了云搜索的服务.具体办法是我们将数据库的信息以JSON的格式上 ...
- C++基础知识小记
最近在帮华为接口人研究自动化部署项目AutoDeploy,把代码发给我了,不过都是用C++写的,自己虽然在大学也学了一学期的C++不过也是很菜鸟,只是学了基本语法,还远未达到实战项目,不管怎么说就是撸 ...
- Mini2440 通过 SPI 操作 OLED (裸板下使用 SPI 控制器)
在裸板下使用 SPI 的话,有两种方法可选: 使用 IO 口模拟 SPI 进行操作 使用 SPI 控制器进行操作 这里我们选用控制器的方式,简单方便. 初始化 SPI static void SPIC ...
- Linux进程间通信(System V) --- 消息队列
消息队列 IPC 原理 消息队列是消息的链式队列,如下图为消息队列的模型.整个消息队列有两种类型的数据结构. 1.msqid_ds 消息队列数据结构:描述整个消息队列的属性,主要包括整个消息队列的权限 ...