python第二课list基本命令
列表:
stus= 'ada,dsfas.,saf,sdfas,saf' #字符串
new_stus = ['段','加','linux','123','数组'] #列表 取值方便
#列表,数组,list,array 指的是一样的东西 不同叫法
#下标,索引,角标,编号
print(new_stus[2]) #根据下标取值
print(new_stus[-1]) #最前面一个元素下标是0 ,最后面一个下标是 -1
cities = []
增加 append&insert
cities.append('北京') # append在列表末尾增加一个元素
cities.insert(-1,'上海') #在指定的位置增加,这里不能写负数(负数和0一样的效果),他不会再最后添加
cities.append('天津')
print(cities)
删除
cities.pop(0) #删除指定位置下标
cities.remove('北京') #删除指定元素名称
cities.clear() #清空list
del cities[0] #删除指定位置
print(cities)
修改
print(cities)
cities[-1]='山西' #修改时候如果指定下标不存在,会报错
print(cities)
查询
print(cities[0]) #查找指定位置
print(cities.index('天津')) #获取元素下标,如果找不到就会报错
print(cities.count('天津')) #查看元素在list中出现了多少次
翻转list
mylist = ['段','加','linux','林']
mylist.reverse() #只是把list翻转一下,并不输出
print(mylist)
排序
num = [1,4,4,2,2345,6]
# num = ['f','s','c','b','a']
num1 = ['北京','山西','为难','天津','阿门']
# num.sort() #排序--升序,并没有返回值
num.sort(reverse=True) #排序--将序,并没有返回值
print(num)
print(num+num1) #合并list
print(num*2) #复制
多维数组
words = ['view','code','tools',['price','num',198,['hello','usa','吃鸡']] ] #二维数组
print(words[-1][-1][1])
print(words[-1][2])
-1倒序,开头没有取值,所以默认从20往左取值,取到18的下标(19),但不顾尾,所以19不取
列表循环
lists = ['大安市','是打发','范德萨','理解']
for name in lists:
print(name)
字符串循环
words = 'asdfa,答复,阿斯蒂芬'
for name1 in words:
print(name1)
#for循环在循环可迭代对象的时候,每次循环的是里面的每一个元素,循环list输出的是list里每一个值(小单位),如果是字符串,输出的是字符串每一个字符
切片
# 切片是list取值的一种方式
nums = ['段佳林','陈卫亮','王占宇','李博']
# 0 1 2 3
print(nums[1:3])
print(nums[0])
print(nums[1:3]) #顾头不顾尾
print(nums[1:]) #如果从某个下标开始取,取到末尾结束,那么末尾的下标可以省略不写
print(nums[:2]) #如果是从头开始取,取到后面某个下标结束,那么开头的下标可以不写
print(nums[:]) #取所有的
lis = list(range(1,21))
print(lis)
print(lis[::2]) #步长,隔几个取一次
print(lis[::-2]) #步长,隔几个取一次
如果步长是正数的话,从左往右边开始取值
如果步长是负数的话,从右边往左边开始取值
print(lis[::-1]) #反转list
print(lis)
print(lis[1::-1])
print(lis[:])
lis.reverse() #改变了原来list的值
print(lis)
# new_list = lis[::-1] #产生了新的一个list,不会改变原来list的值
# print(new_list)
# print(lis)
切片操作同样适用于字符串。
# info = '你好,今天天气很好'
# # 0 1 2 3 4 5 6 7 8
# print(lis)
# print(lis[:18:-1])
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
#18 # 19
#
# print(lis)
# print(lis[::-2])
# print(lis[::-1])
# # print(lis[:18:-1]) # -1倒序,开头没有取值,所以默认从20往左取值,取到18的下标(19),但不顾尾,所以19不取
s = 'hahaha'
s = '小黑'
print(s)
print(s[0])
print(s[::-1])
List练习
校验用户名是否合法:
# 输入账号 #input
# 如果账号存在的,提示已经被注册,如果不存在的,就让他注册 all_users 【 】
#不能为空 #strip()
#用户名长度长度6-12之间 len()
#最多输入3次 #循环
all_users = ['阿斯蒂芬','看会','zhangwifi']
for i in range(3):
username = input('请输入账号:').strip()
if len(username)>5 and len(username)<13:
if all_users.count(username)>0:
print('这个名字太好啦,已经被注册啦!')
else:
print('名字不错,赶紧注册吧!')
break
else:
print('用户名长度不合法!长度6-12之间!')
else:
print('失败次数过多')
将交作业和未交作业的学生分开
stus=[
['小明','未交'],
['小白','已交'],
['小紫','已交'],
['小红','未交'],
['小绿','未交'],
['小黄','未交'],
['小黑','已交']
]
pass_list = [ ] #所有已经交作业的同学
fail_list = [ ] #没有交作业同学的名字
for stu in stus:
status = stu[1] #状态
name = stu[0] #名字
if status == '未交':
fail_list.append(name)
else:
pass_list.append(name)
print('未交作业的所有同学是 %s ,总共有 %s 个人'%(fail_list,len(fail_list)))
print('已交作业的所有同学是 %s ,总共有 %s 个人'%(pass_list,len(pass_list)))
List循环
lists = [
'张流量','李wifi','王路由器','牛网线',[1,2,3,4]
]
words='marry,lily,joker'
# for i in range(4): #其他语言
# # 0 ,1,2,3
# print(lists[i])
for name in lists:
if type(name)==list: #判断一个变量的类型
for i in name:
print(i)
print(name)
循环删list用copy模块
a = [1,1,2,3,3,4,5,5,6] #循环删list里面的数据的时候,结果会不正确
a1 = [1,1,2,3,3,4,5,5,6]
#删除的时候用copy模块
import copy
a1 = a #浅拷贝
a2 = copy.deepcopy(a) #深拷贝
##浅拷贝和深拷贝的区别就是深拷贝会重新开辟一个内存空间
# for i in a1:
# if i%2 != 0 :
# a.remove(i)
# print(a)
python第二课list基本命令的更多相关文章
- Python 第二课笔记
1.模块初识 Python标准库和第三方库, 写好的功能封装好,起个名字,就是模块也叫库,直接导入就能用了. 标准库就是不需要安装,就能够导入的库 第三方库必须下载,安装才能使用的库. 1.1 两个标 ...
- 小哈学Python第二课:Hello Word
Python入门 1.Hello World 2.Hello World
- python第二课——数据类型1
day02(上午)主要讲了进制问题,小编之前已经发过了 day02(下午): 1.数据类型: 分类: 1).整数型:int浮点型(小数):float布尔型(True/False):bool 2).字符 ...
- python第二课--分支结构与循环结构
if语句---分支结构 在Python中,要构造分支结构可以使用if.elif和else关键字.所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作 ...
- python第二课
本节内容 1.列表list.切片 2.字典dict
- Python第二课-输入输出
name = input() 输入的字符串已经赋值给变量name print() 输出内容 print(,) print中,连接字符串相当于空格
- python第二十九课——文件读写(复制文件)
自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb ...
- python第二十九课——文件读写(读取读取中文字符)
演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱 ...
- 少儿编程:python趣味编程第二课,如何在pygame中写文字
python趣味编程第二课:本文仅针对8-16岁的青少年,所以流程是按如何去教好中小学生走的,并不适合成人找工作学习,因为进度也是按照青少年走的 大家好,我是C大叔,上一篇文章已经跟大家介绍了一款开发 ...
随机推荐
- MySQL笔记总结-DQL语言
DQL语言 基础查询 一.语法 select 查询列表 from 表名; 二.特点 1.查询列表可以是字段.常量.表达式.函数,也可以是多个 2.查询结果是一个虚拟表 三.示例 1.查询单个字段 se ...
- 一个可能是世界上最全的 API 接口集合库开源项目
对于程序员来说,为自己的程序选择一些合适的API并不是那么简单,有时候还会把你搞得够呛,今天猿妹要和大家分享一个开源项目,这个项目汇集了各种开发的api,涵盖了音乐.新闻.书籍.日历等,无论你是从事W ...
- Redis 的 maxmemory 和 dbnum 默认值都是多少?对于最大值会有限制吗?
一.Redis 的默认配置 了解 Redis 的都知道,Redis 服务器状态有很多可配置的默认值. 例如:数据库数量,最大可用内存,AOF 持久化相关配置和 RDB 持久化相关配置等等.我相信,关于 ...
- CG-CTF(1)
CG-CTF CG-CTF题目网址:https://cgctf.nuptsast.com/challenges#Web 第一题:签到题 查看页面源代码,得到flag(干杯~): 第二题:md5 col ...
- [Inno Setup] Do not show application version in “Program and Features” control panel
Set AppVersion empty. But, then you have to set the AppVerName. Depending on your needs either set i ...
- 【java基础】01 计算机基础知识
一.计算机基础知识 1. 计算机 1. 什么是计算机? 计算机在生活中的应用举例 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设 ...
- 【Linux常见问题】CentOS 6 root用户密码忘记,找回密码方法
1.Linux的root密码修改不像Windows的密码修改找回,Windows的登录密码忘记需要介入工具进行解决.CentOS6和CentOS7的密码方法也是不一样的,具体如下: 2.centos ...
- (转)mysql数据库表名批量修改大小写
由于不用服务器对mysql的表名的大小写敏感要求不一致,经常在出现线上的数据库down到了本地不能运行的情况,贴出一段代码用来批量修改数据库表名大小写. DELIMITER // DROP PROCE ...
- 历史上的今天mysql数据库包含详情分类以及图片
历史上的今天mysql数据库包含详情分类以及图片 https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111debo71iaJ& ...
- 2019 ICPC 银川网络赛 F-Moving On (卡Cache)
Firdaws and Fatinah are living in a country with nn cities, numbered from 11 to nn. Each city has a ...