-
2021-01-14 10:47:28
for in 说明:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等
格式:
for x in y:
循环体
执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束。
例1:遍历字符串
s = 'I love you more than i can say'
for i in s:
print(i)
例2:遍历列表
l = ['鹅鹅鹅', '曲项向天歌', '锄禾日当午', '春种一粒粟']
for i in l:
print(i)
# 可以获取下表,enumerate每次循环可以得到下表及元素
for i, v in enumerate(l):
print(i, v)
例3:遍历字典
d = {'a':'apple', 'b':'banana', 'c':'car', 'd': 'desk'}
for key in d:
# 遍历字典时遍历的是键
print(key, d.get(key))
# for key, value in d.items():
# 上下两种方式等价 d.items() <=> dict.items(d)
for key, value in dict.items(d):
print(key, value)
列表生成式
可迭代对象:列表、元组
更多相关内容 -
for in 详解
2020-12-21 10:58:37for in 是 JavaScript 1.0 版本中就有的语法,本文将对 for in 进行详细介绍 1. for in 循环所遍历的范围 for in 循环遍历一个对象的可枚举属性,包括这个对象继承自原型链上的可枚举属性 举个例子: Object....for in 是 JavaScript 1.0 版本中就有的语法,本文将对 for in 进行详细介绍
1. for in 循环所遍历的范围
for in 循环遍历一个对象的可枚举属性,包括这个对象继承自原型链上的可枚举属性
举个例子:
Object.prototype.objCustom = function() {}; Array.prototype.arrCustom = function() {}; const iterable = [3, 5, 7]; iterable.foo = 'hello'; for (const i in iterable) { console.log(i); // logs 0, 1, 2, "foo", "arrCustom", "objCustom" } for (const i in iterable) { if (iterable.hasOwnProperty(i)) { console.log(i); // logs 0, 1, 2, "foo" } }
让我们一步一步一起解读下以上代码:
Object.prototype.objCustom = function() {}; Array.prototype.arrCustom = function() {}; const iterable = [3, 5, 7]; iterable.foo = 'hello';
每个 Object 对象继承 objCustom 属性;每个 Array 对象继承 arrCustom 属性;声明 iterable 数组(继承 Array 和 Object);又在 iterable 数组中添加 foo 属性
for (const i in iterable) { console.log(i); // logs 0, 1, 2, "foo", "arrCustom", "objCustom" }
循环遍历可枚举属性 iterable ;3, 5, 7, hello 不能遍历,因为它们不是可枚举属性,实际上也不是对象,它们只是值
for (const i in iterable) { if (iterable.hasOwnProperty(i)) { console.log(i); // logs 0, 1, 2, "foo" } }
通过使用 hasOwnProperty() 对循环遍历的范围进行了一个过滤,只循环对象自身的可枚举属性,不包括 iterable 继承的可枚举属性
以上明白了
for in
所循环遍历的是一个对象的可枚举属性,即对象 数组都可以(数组遍历的是索引)2. for in 循环中的增删改
在
for in
循环中,增,添加的属性,后面可以被访问,也可以被删除;删,删除之后就不能访问该属性了;改,修改完以后,后面的值就是修改完以后的值了;即,在
for in
循环中可以进行增删改操作3. for in 循环体的遍历顺序
for in
是按照可枚举属性进行遍历的,即,是无序的,如果遍历数组,对索引顺序有要求的话,不推荐使用for in
,推荐使用for of
、forEach()
等其它方法 -
for in 和 for of的区别
2021-08-10 11:45:15区别一:for in 和 for of 都可以循环数组,for in 输出的是数组的index下标,而for of 输出的是数组的每一项的值。 const arr = [1,2,3,4] // for ... in for (const key in arr){ console.log(key) // 输出 0,...1.循环数组
区别一:for in 和 for of 都可以循环数组,for in 输出的是数组的index下标,而for of 输出的是数组的每一项的值。
const arr = [1,2,3,4] // for ... in for (const key in arr){ console.log(key) // 输出 0,1,2,3 } // for ... of for (const key of arr){ console.log(key) // 输出 1,2,3,4 }
2.循环对象
区别二:for in 可以遍历对象,for of 不能遍历对象,只能遍历带有iterator接口的,例如Set,Map,String,Array
const object = { name: 'lx', age: 23 } // for ... in for (const key in object) { console.log(key) // 输出 name,age console.log(object[key]) // 输出 lx,23 } // for ... of for (const key of object) { console.log(key) // 报错 Uncaught TypeError: object is not iterable }
3.数组对象
const list = [{ name: 'lx' }, { age: 23 }] for (const val of list) { console.log(val) // 输出{ name: 'lx' }, { age: 23 } for (const key in val) { console.log(val[key]) // 输出 lx,23 } }
总结:for in适合遍历对象,for of适合遍历数组。for in遍历的是数组的索引,对象的属性,以及原型链上的属性。
-
python中for in的用法
2021-01-14 01:24:34for in 说明:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等格式:forxiny:循环体执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束。例1:遍历字符串s='Iloveyoumorethanicansay'foriins:...for in 说明:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等
格式:
for x in y:
循环体
执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束。
例1:遍历字符串
s = 'I love you more than i can say'
for i in s:
print(i)
例2:遍历列表
l = ['鹅鹅鹅', '曲项向天歌', '锄禾日当午', '春种一粒粟']
for i in l:
print(i)
# 可以获取下表,enumerate每次循环可以得到下表及元素
for i, v in enumerate(l):
print(i, v)
例3:遍历字典
d = {'a':'apple', 'b':'banana', 'c':'car', 'd': 'desk'}
for key in d:
# 遍历字典时遍历的是键
print(key, d.get(key))
# for key, value in d.items():
# 上下两种方式等价 d.items() <=> dict.items(d)
for key, value in dict.items(d):
print(key, value)
列表生成式
可迭代对象:列表、元组、字典等都是可迭代对象,就是可以遍历的对象
range,用法如下:
print(range(10))
# 可以生成从0开始到10的连续整数的迭代对象
print(range(0, 10))
# 可以遍历
for i in range(10):
print(i)
# 强制转换为列表
print(list(range(1, 11)))
列表生成式:快速生成具有特定规律的列表
# 列表生成式
print([i for i in range(1, 11)])
print([i*2 for i in range(1, 11)])
print([i*i for i in range(1, 11)])
print([str(i) for i in range(1, 11)])
print([i for i in range(1, 11) if i % 2 == 0])
转载来源:https://www.py.cn/faq/python/11687.html
仅供学习使用
-
python中for in的用法python中for in的用法
2020-10-28 09:39:06for in 说明:也是循环结构的一种,经常用于遍历字符串、列表,元组,字典等 格式: 1 2 forxiny: 循环体 执行流程:x依次表示y中的一个元素,遍历完所有元素循环结束。 例1:遍历... -
for in 循环详解
2019-11-25 15:49:35for in循环 for...in 语句以任意顺序遍历一个对象的除 Symbol 以外的可枚举属性。 for...in 循环只遍历可枚举属性。像 Array和 Object 使用内置构造函数所创建的对象都会继承自Object.prototype和String.prototype... -
js中的for in 和 for of 的区别
2019-04-09 21:01:29for...in和for...of的区别 [ ]for...in是ES5的标准,该方法遍历的是对象的属性名称(key:键名)。一个Array对象也是一个对象,数组中的每个元素的索引被视为属性名称,所以在使用for...in遍历Array时,拿到的是每个... -
for in , for of 和forEach三者对比
2020-07-10 20:24:03for in , for of 和forEach三者都是循环时经常使用的,但是每个使用场景都是有轻微不同,接下来就进行一个对比 1.1 for…in…的作用 1.1.1 可枚举对象 const person = { name: 'Lydia', age: 21, }; for (const ... -
JS for in 遍历对象顺序不对
2020-01-21 15:13:40当通过 for in 循环存放到数组的时候得到了 很显然顺序跟想象的不一样,因为对象中没有顺序,他不是数组,所以想要得到一个顺序就首先要只给对象指定规则,这里是通过对象的value的字母来指定的规则 //循环中使用 ... -
JS中 for in 与 for of的区别
2018-10-06 14:32:21for in遍历的是数组的索引(即键名), 而for of遍历的是数组元素值。 Array.prototype.method=function(){} var myArray=[1,2,4]; myArray.name="数组"; for (var index in myArray) console.log... -
python中for in zip()
2021-07-29 22:17:08stage_names = ["stage{}".format(i) for i in [2, 3, 4]] stages_repeats=[4, 8, 4] stages_out_channels=[24, 48, 96, 192, 1024] for name, repeats, output_channels in zip(stage_names, stages_repeats,stage_... -
JavaScript数组forEach,for in和for of等不同遍历的差别详解与性能分析
2018-06-14 18:07:04写在前面JavaScript中,茴香豆的'茴'有四种写法……开玩笑的,是数组的遍历有四种方法,本文将会分别展示四种遍历的用法,分析他们的区别,最后比较他们的性能。...for(var i = 0; i < arr.length; i++){ ... -
[Python] for in range()使用以及列表字符串反转方法
2020-12-13 14:37:51用python,少不了循环遍历,这里记录一下,for in range 的结构用法。range()函数结构如下:def range(__x: int, __y: int = ..., __step: int = ...) -> List[int]: ...也可以理解成:range(start,end,step) or ... -
详细描述了如何在Python中使用for in range(range()函数的for循环),foriinrangerange,介绍
2021-03-17 15:50:181.定义range是一个函数,它返回的是一个可迭代对象,大多使用于for循环中。相当于C/Java 里面的 for (int i = m; i < n; i++)循环2.两种形式range(stop)range(start, stop[, step])start作为开始值,开始值作为... -
Vue中v-for与for in的区别js
2019-02-23 14:34:59在Vue中v-for ="(value, index) in list" 在for(let index,item in list){} 为了避免顺序混淆建议大家在Vue模板中使用v-for = “(value,index) of list” -
LInux shell之(for in 用法总结)
2019-01-27 21:56:45for 变量名 in 列表 do 程序段(command) done 注意1:是变量名而不是$变量! 注意2:列表可以做文章! 二、应用 第一类:数字性循环-->seq在in后面的应用 #!/bin/bash #也是产生等差数列-->... -
vue 中对象与数组的for in 以及 v-for的使用
2020-07-14 10:00:32vue_使用v-for遍历对象属性 语法格式 (value,key,index) in obj 1.value 就是每一项的属性值 2.key就是每一项的属性名称 3.index就是每一项的索引值,也就是对象的第几个属性 key index是可选的,value是必填的,... -
for of 和 for in 的区别
2018-05-23 09:47:46一般用于遍历对象的可枚举属性。以及对象从构造函数原型中... 如果迭代的对象的变量值是null或者undefined, for in不执行循环体,建议在使用for in循环之前,先检查该对象的值是不是null或者undefined for of ... -
IE不支持使用for in语法
2018-10-17 09:54:54在项目发现遍历checkbox获取选中值时出现IE不支持for in语法问题: var checkList = []; var checkName = document.getElementsByName("IsCheck"); //IE无法正常使用,chrome和firefox等主流浏览器正常 ... -
for in和for each遍历的区别
2019-05-21 23:52:56var dataSource:Object = {}; dataSource[1] = 1000; dataSource[2] = 2000; dataSource[3] = 3000; dataSource[4] = 4000; console.log("for each遍历");... for each(var value:int in dataSourc... -
forEach、for in 、 for of三者的区别
2018-05-04 11:42:57在开发过程中经常需要循环遍历数组或者对象,forEach、for in 、 for of这三种方法使用最多 但却一值傻傻分不清楚。。今天来一个大区分。。 for循环 其实除了这三种方法以外还有一种最原始的遍历,自Javascript... -
oracle自定义函数 for in loop示例
2019-01-31 15:52:20for itemf in (select t.form_name, t.sortone, t.sorttwo --循环4(itemf ) from T_NQ_FORM t where t.form_id = formidm--这里是根据循环3的每一个formidm来循环 and t.del_flag = 0) loop rwodata := ... -
vue 遍历对象foreach for in
2020-01-03 18:36:05对象结构: info = {name: "xiaoming", age: 10, grade: "二年级"} foreach: Object.keys(info).foreach((value, key) => { console.log(value) ...for (let i in info) { console.log(info[i]) ... -
简述js中 for in 与 for of 区别
2017-06-07 23:55:52for in是ES5标准,遍历key. for of是ES6标准,遍历value.for (var key in arr){ console.log(arr[key]); }for (var value of arr){ console.log(value); } -
pyhton (for in if)用法
2018-08-24 15:30:36python 循环高级用法 [expression for x in X [if condition] for y in Y [if condition] ... for n in N [if condition] ]按照从左至右的顺序,分别是外层循环到内层循环 高级语法 除了像上面介绍的 [x ** 2 for... -
JS中的forEach,for in,for of和for的遍历优缺点及区别
2019-01-27 11:59:00优点:避免了for in的所有缺点,可以使用break,continue和return,不仅支持 数组的遍历,还可以遍历类似数组的对象,支持字符串的遍历 最简洁,最直接的遍历数组的语法 支持map和Set对象遍历 缺点:不... -
js中的for in循环
2018-10-31 14:39:15原型添加属性之后,默认情况下枚举,最后输出1234513 function getNewArrayTwo(){ var array=[1,2,3,4,5 ];...for(var i in array){ result.push(array[i]); } alert(result.join('')); } 所以建议不要...