依旧是python基础

for循环

s = 'woeudbwieb'
for i in s:#s代表可迭代对象
print(i)
if 'c' not in s:
print('没有c')

列表

每个元素以逗号隔开,可以放任意的数据类型,有序
切片和索引跟字符串相同

常用操作

# 增加
li = ['jiang','chengcheng']
li.append('judy')
print(li) # 迭代增加
li = ['jiang','cheng']
li.extend('')#参数为可迭代对象,分解成元素逐个添加到列表后面
# 小练习,循环增加列表
li = ['jiang','chengcheng']
while 1:
new = input('input new :')
if new=='q':
break
else:li.append(new)
print(li)
# 插入
li = ['jiang','chengcheng']
li.insert(1,'')#插入到索引值的前面
print(li)
# 删除
li = ['jiang','chengcheng',1,2,3,4]
li.pop() #按索引删除,默认删除最后一个,返回删除元素
li.remove('dudu') #按元素删除,没有返回值
li.clear() #清空列表
del li #在内存中删除整个列表
del li[2:]#切片删除
# 修改
li = ['jiang','chengcheng',1,2,3,4]
li[2] = 'hlb' # 切片修改
li[2:4] = 'i am beatiful girl'#任意多个字符
print(li)
# 排序(列表中元素是同一类型)
list = [1,2,3,4,7,6,5,8,0,9]
list.sort(reverse=True)#默认false->正向排序
list.reverse()#反转
# 列表嵌套
list = [['jiang','cheng','cheng'],'is','a','beautiful','girl']
#循环打印嵌套列表
l = [1,2,3,5,'jcc',[1,5,3],'beauty']
for i in l:
if isinstance(i,list):
for j in i:
print(j)
else:print(i)

list在循环中删除的状况

#测试循环中删除元素
list1 = [1,2,3,4,5]
for i in range(len(list1)):#进入循环时range(len(list1))的数值已经固定,[0,1,2,3,4]
print(i)
del list1[i]#i = 3时报错,IndexError: list assignment index out of range
print(list1) for i in range(len(list1)):
if i%2!=0:
list1.remove(list1[i])
print(list1)#虽然没有报错,但是结果是错误的
#删除奇数位的元素
#1.list的切片
print(list1[::2])
# 2.
list2 = []
for i in range(len(list1)):
if i%2==0:
list2.append(list1[i])
list1 = list2
print(list2)
print(list1)

元组

可循环,可切片,不可修改

可变数据类型:列表list,字典dict,集合set 不可hash
不可变数据类型:元组tuple,bool,int,str 可hash

常用操作

tuple = (1,2,3,'jiang','cheng','cheng',['is','a','beautiful','girl'])
tuple[0] = ''#报错,不可修改
tuple[6][2] = 'handsome'#可以修改

join

s = 'jcc'
lis = ['','','']#list里边只能放字符串,不能放数字,且不能嵌套
s1 = '*'.join(lis)#可以放可迭代对象,以*连接元素,形成一个新的字符串

range

for i in range(0,10,2):#打印
print(i)
for i in range(10,1,-1):#倒叙打印2-10
print(i)
for i in range(1,10,-1):#不会报错,什么都不打印
print(i)

字典

key必须是不可变数据类型
优势:key值组成hash表,二分方法查找,查询速度快
存储大量的关系型数据
无序

常用操作

#字典 dict
dic = {'age':19,'name':'jcc'}
dic1 = {'age':22}
#增加
dic['high'] = 160
dic.setdefault('weight',49)
#修改
dic['name'] = 'jiangcc'
dic.update(dic1)#把dic1中的键值对更新到dic中,有就改,没有就不改
dic.setdefault('weight',50)#不做改变,体重增加一公斤都不行
#删除
dic.pop('age')#删除有返回值,返回删除的元素
dic.popitem()#随机删除
dic.clear()#清空字典
del dic['name']#删除键值对,没找不到会报错
#查
dic.keys()#得到一个和列表相似的数据类型,把字典中的键放入
dic.values()#得到一个和列表相似的数据类型,把字典中的值放入
dic.items()#得到一个列表里边 嵌套多个元组
# 循环键值对
for k,v in dic.items():
print(k,v)
print(dic.get('name1'))#如果没有查到不报错,返回None
v = dic['name1']#查不到报错
# 字典嵌套
dic = {
'name':['jcc','hlb'],
'hobby':{
'boy':'cool'
},
'age':18
}
dic['age'] = 16
dic['name'].append('jiangchengcheng')
dic['name'][0] = 'JCC'
print(dic)

一些小知识

# 用一行代码交换ab的值
a,b = 1,2
print(a,b)
a,b = b,a
print(a,b)
#当数字在-5-256之间 创建多个数字的地址相同,因为有小数据池
i1 = 6
i2 = 6
#内存地址相同
i3 = 300
i4= 300
#内存地址不相同

=,== is

= ->赋值
== ->比较值是否相等
is ->比较内存地址是否相等
id()-->查看内存地址

17:42

for循环,列表,元组的更多相关文章

  1. 2.9高级变量类型操作(列表 * 元组 * 字典 * 字符串)_内置函数_切片_运算符_for循环

    高级变量类型 目标 列表 元组 字典 字符串 公共方法 变量高级 知识点回顾 Python 中数据类型可以分为 数字型 和 非数字型 数字型 整型 (int) 浮点型(float) 布尔型(bool) ...

  2. Python学习笔记(1):列表元组结构

    Python的列表元组功能强大,令人印象深刻.一是非常灵活,二是便于集体操作.特别是以元组作为列表项的结构,和数据访问的结果能够对应起来,和习惯的二维表理解上也一致,有很多的用途. 以学习笔记(3)中 ...

  3. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  4. Python第三天 序列 数据类型 数值 字符串 列表 元组 字典

    Python第三天 序列  数据类型  数值  字符串  列表  元组  字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...

  5. python基础(五)列表,元组,集合

    列表 在python中是由数个有序的元素组成的数据结构,每一个元素对应一个index索引来隐式标注元素在列表中的位置.是python中最常用的一种数据类型.需要注意的是列表中可以有重复相同的数据. 列 ...

  6. Python第三天 序列 5种数据类型 数值 字符串 列表 元组 字典 各种数据类型的的xx重写xx表达式

    Python第三天 序列  5种数据类型  数值  字符串  列表  元组  字典 各种数据类型的的xx重写xx表达式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell ...

  7. Python摸爬滚打之day04----基本数据类型(列表,元组)

    1.列表 列表是可变的, 有序的数据类型,列表是按照添加顺序来保存的,可以存放各种数据类型. 1.1    列表的切片(同字符串) 1.2    列表的增删改查 注意: 列表是可以直接在列表上面进行操 ...

  8. python基础知识-04-字符串列表元组

    python其他知识目录 内存,cpu,硬盘,解释器 实时翻译 编译器 :一次性翻译python2,3 除法,2不能得小数,3能得小数 1.字符串操作 1.1字符串操作startswith start ...

  9. 巨蟒python全栈开发-第4天 列表&元组&range

    今日内容大纲 1. 什么是列表 定义: 能装对象的对象 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 列表存在索引和切片. 和字符串是一样的. 2. 相关的增删改查操 ...

  10. python 基础篇 04(列表 元组 常规操作)

    本节主要内容:1. 列表2. 列表的增删改查3. 列表的嵌套4. 元组和元组嵌套5. range 一. 列表1.1 列表的介绍列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. ...

随机推荐

  1. [JAVA]JAVA多线程实现方法之——实现Runnable接口

    public class MultiThread { public static void main(String[] args) { Thread t1 = new Thread(new Threa ...

  2. 关于rtsp的时间戳问题

    这里主要关注的rtp包的时间戳,在rtsp中,播放器的1S钟的定义是和媒体的采样率有关的. 例如视频的采样率是90K,那么最小时间粒度(单位)是1/90000秒,再转换成ms就是 1/90毫秒,这个就 ...

  3. python3学习笔记六(元组)

    元组 创建空元组 tup1 = () #空元组print(type(tup1))print(tup1) tup2 = (10)tup3 = (10,)print(type(tup2)) #不加逗号,类 ...

  4. Ubuntu16.04下安装OpenCV2.4.13

    软件版本 Ubuntu 16.04; OpenCV 2.4.13 安装步骤 1.首先安装一些编译工具 # 安装编译工具 sudo apt-get install build-essential # 安 ...

  5. beef + msf 实现内网渗透

    在内网渗透方面,最为大众所知道的就是xp系统的ms08067漏洞,通过这个漏洞可以对未打上补丁的xp系统实现getshell, 但是经过笔者发现,这种漏洞攻击在被攻击机开上windows防火墙的时候是 ...

  6. Android 获取控件滑动速度,速度跟踪器VelocityTracker;

    VelocityTracker 速度跟踪器 在写关于Android滑动的控件,如果用户手指在屏幕上(当前位置 - 起始位置 > 某个数值)就做一个界面切换,但是总感觉太生硬,只有满足上面的条件才 ...

  7. Oauth2.0(三):Access Token 与 Refresh Token

    access token 是客户端访问资源服务器的令牌.拥有这个令牌代表着得到用户的授权.然而,这个授权应该是临时的,有一定有效期.这是因为,access token 在使用的过程中可能会泄露.给 a ...

  8. Ubutu16.04+Cuda9.2/9.0+Cudnn7.12/7.05+TensorFlow-gpu-1.8/1.6

    目录 Ubuntu16.04 Installl 1. 安装环节 2. 安装卡死 3. NVIDIA显卡安装 2. CUDA Install 3.Cudnn7.05 Install 4.Tensorfl ...

  9. AlexNet实践

    注释: CNN使用TF搭建比较简单,就像Hough检测使用CV很简单一样.但是怎么使用CNN去做一些实际操作,或者说怎么使用现有的方法进行慢慢改进,这是一个很大的问题! 直接跟着书本或者视频学习有点膨 ...

  10. android 开发 ScrollView 控件的一些api描述与自定义ScrollView接口回调方法

    1.正常使用ScrollView控件的一些api详解. package com.example.lenovo.mydemoapp.scrollViewDemo; import android.supp ...