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 ...
随机推荐
- Create and Embed an Application Manifest (UAC)
http://msdn.microsoft.com/en-us/library/bb756929.aspx 可以在VS2008中设置当执行exe时弹出提升管理员权限对话框:xx Property-&g ...
- SpringBoot初体验及原理解析
一.前言 上篇文章,我们聊到了SpringBoot得以实现的幕后推手,这次我们来用SpringBoot开始HelloWorld之旅.SpringBoot是Spring框架对“约定大于配置(Conv ...
- unity5.5 ugui使用美术字
文件转载自:http://www.jianshu.com/p/a4e6d1ca3ca0 项目需要使用美术字加强战斗效果表现,按以往NGUI的使用经验,这个应该很简单,随便Google一下都有数篇技术博 ...
- mysql遇见contains nonaggregated column 'information_schema.PROFILING.SEQ'异常
报错如下:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggrega ...
- win32之进程概念
win32之进程 一丶简介 学习WindowsAPI. 之前.我们必须理解什么是进程. 在windows环境下.进程就是一个运行起来的exe程序 进程提供了数据以及资源. 但是怎么使用不管.而是由线程 ...
- Netty精粹之玩转NIO缓冲区
摘要: 在JAVA NIO相关的组件中,ByteBuffer是除了Selector.Channel之外的另一个很重要的组件,它是直接和Channel打交道的缓冲区,通常场景或是从ByteBuffer写 ...
- python的Web框架,Django模型系统二,模型属性,及数据库进阶查询
原始数据接上篇文章来操作.可能需要查看后才能懂.点击这里查看 1.常用的模型字段类型 官方文档:https://docs.djangoproject.com/en/2.1/ref/models/fie ...
- net4log 日志管理
使用log4net可以很方便地为应用添加日志功能.应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能.同时,通过外部配置文件,用户可以不用重新编译程序就能改变 ...
- c# 数组协变
class a{} class b:a{} a[] arr=new a[3]; a[] arr2=new a[3]; 给arr 数组赋值 arr[0]=new a(); arr2[0]=new b() ...
- 【分布式】1、CAP原则(CAP定理)、BASE理论
CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性). Availability(可用性).Partition tolerance(分区容错性),三者不可得兼. CA ...