首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP是否与Python的列表理解语法相当?

PHP是否与Python的列表理解语法相当?

提问于 2018-03-13 20:13:27
回答 2关注 0查看 277

Python列表理解:

代码语言:txt
AI代码解释
复制
S = [x**2 for x in range(10)]
print S;
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

在PHP中,我需要做一些循环:

代码语言:txt
AI代码解释
复制
$output = array();
$Nums = range(0,9);

foreach ($Nums as $num) 
{
    $out[] = $num*=$num;
}
print_r($out);

得到:

排列( [0] => 0 [1] => 1 [2] => 4 [3] => 9 [4] => 16 [5] => 25 [6] => 36 [7] => 49 [8] => 64 [9] => 81 )

PHP中是否有类似的列表理解语法?是否有任何PHP 5.3中的新特性可以完成呢?

谢谢

回答 2

wsnbb203

回答已采纳

发布于 2018-03-14 04:41:36

也许像这样?

代码语言:txt
AI代码解释
复制
$out=array_map(function($x) {return $x*$x;}, range(0, 9))

这将在PHP 5.3+中工作,在旧版本中,您必须为

代码语言:txt
AI代码解释
复制
function sq($x) {return $x*$x;}
$out=array_map('sq', range(0, 9));

替身

发布于 2018-03-14 05:21:33

PHP 5.5可能支持列表理解-参见邮件列表公告:

  • [PHP-DEV]列出PHP的理解和生成器表达式(2012年6月28日)

和进一步讨论:

  • 能为你做什么?(由ircmaxell;2012年7月23日)-有一个斐波纳契的例子。
  • PHP 5.5可能是什么样子?(尼基奇;2012年7月10日)
和开发者交流更多问题细节吧,去 写回答
相关文章
python列表基本语法
1、列表可以存放任何数据类型,元素可以重复,可以嵌套列表。可以对之进行增删改查操作。 2、创建列表: L=【】或L=list()创建一个空列表; 3、查询或者取值: ex:L=【1,2,3,“a”,“b”,“c”,1,1】 通过索引或者下标取值,从左往右下标从0开始,从右往左从-1开始。L【0】=1,L【-1】=“c”。 4、查找元素的索引值: 查找b的索引值:L.index(“b”)=4,如果有重复的元素,则默认返回第一个的索引值。 5、统计元素个数: L.count(1)=3。 6、切片:只能按索引号从小到大切,从左到右切。 L【2:4】=【3,“a”】:取出下标为2到3的元素,顾头不顾尾。 L【:3】=【1,2,3】取出下标为0到2的元素。 L【4:】=【“b”,“c”,1,1】取出下标为4到最后的元素。 L【-5:-1】=【“a”,“b”,“c”,1】取出下标从-5到-1的元素。 L【-5:】=【“a”,“b”,“c”,1,1】取出下标从-5到最后的元素。 L【:】=【1,2,3,“a”,“b”,“c”,1,1】取出所有元素。 L【2:7:2】=【3,“b”,1】按步长为2,跳一个,依次取出下标从2到7的元素。 7、修改元素: L.append(“PW”):把“PW”追加到列表的最后面。 L.insert(2,“rick”):把“rick”插入到第二个下标前。 8、替换元素: L【2】=“pengwei”则,L列表中下标为2的元素(3)则被替换为“pengwei”。 L【2:5】=【8,6,5】把列表中下标为2到4的值替换为【8,6,5】。 9.删除元素: L.pop():默认吧列表最后一个元素取出并删除。 L.remove(“b”):吧L列表中的元素b删除,但如果有重复的,则默认删除第一个。 del L【2】:吧列表中下标为2的元素删除。 del L【2:5】:吧列表中下标从2到4的元素删除。 del L:把列表L删除。 10、循环列表:: for i in L: print(i)把列表中所有元素依次打印出来。 range(10):自动生成一个0到10的列表。 for i in range(10):循环输出0到9。(顾头不顾尾) for和while的区别为:while可以定义成死循环:while True;for循环有边界。 11、列表排序: L.sort():把同类型的元素按照ASCLL表顺序从小到大排序,不支持不同类型的元素的排列。 L.reverse():把列表倒序排列。 12、列表的拼接: 两个列表直接相加即可:L+M L.extend(M):把M列表添加到L中。 13、列表的清除: L.clear:把列表清除。 14.列表的复制: L=P:和变量不一样,L=P表示把P的值赋值给L,当P变化时,L也随之变化。 如要L不随P变化:用L=P.copy(),则P变化时,L不变,P和L独立。
py3study
2020/01/06
4320
python 列表语法
列 表 语 法 列表操作包含以下函数 cmp(list1, list2) 比较两个列表的元素。 len(list) 列表元素个数。 max(list) 返回列表元素最大值。 min(list) 返回列表元素最小值 。 list(seq) 将元组转换为列表 。 标列表操作包含以下方法 list.append(obj) 在列表末尾添加新的对象。 list.count(obj) 统计某个元素在列表中出现的次数。 list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩
HaydenGuo
2019/12/12
3880
python 列表语法
python基本语法:列表(列表和元组的区别)
3.列表类似于java中的list. 与元组不同,定义单个元素对象时不用加逗号,且元素值可改变。
微风-- 轻许--
2022/04/13
1.7K0
python基本语法:列表(列表和元组的区别)
Python 列表是否线程安全?
Python中的列表不是线程安全的,在多线程环境下,对列表的操作可能会导致数据冲突或错误。但是,并非所有列表操作都是线程不安全的。如果操作是原子的,也就是说不能被线程调度机制打断,那么就没有问题。比如L.append(x)和L.pop()就是原子操作,所以是thread安全。如果操作不是原子的,或者涉及修改多个列表元素,那么就需要使用锁或者其他同步机制来保证线程安全。例如,Li = Lj 和 L.append(L- 1) 不是原子操作,因此它们可能会导致冲突。可以使用 dis 模块来检查操作是否是原子操作。
jackcode
2023/05/29
5030
Python 列表是否线程安全?
通过PHP与Python代码对比浅析语法差异
人工智能这几年一直都比较火,笔者一直想去学习一番;因为一直是从事PHP开发工作,对于Python接触并不算多,总是在关键时候面临着基础不牢,地动山摇的尴尬,比如在遇到稍微深入些的问题时候就容易卡壳,于是准备从Python入门从头学起;
汤青松
2019/07/09
1.3K0
Python基本语法 列表生成式
举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)):
Autooooooo
2020/11/09
4400
通过PHP与Python代码对比浅析语法差异
人工智能这几年一直都比较火,笔者一直想去学习一番;因为一直是从事PHP开发工作,对于Python接触并不算多,总是在关键时候面临着基础不牢,地动山摇的尴尬,比如在遇到稍微深入些的问题时候就容易卡壳,于是准备从Python入门从头学起;
汤青松
2019/07/10
1.3K0
如何理解和使用Python中的列表
Python有6个序列的内置类型,但最常见的是列表和元组。今天我们就来讲讲列表。
小土豆Yuki
2020/06/15
8.9K0
Python判断列表中是否有某个项
这个算法比较巧妙:遍历列表,把列表中的每一项与匹配项进行比较,如果不相等就把下标为i的列表的值赋值给下标为k的列表,因为初始时k=i=0,意思就是取出当前项再赋值给当前项,假设有列表[1,2,3],匹配项val是2,则循环第一次后1的位置不变,当i=1,k=1时,也就是列表元素为2时,lt[i]!=val为false,进入下一次循环,此时k=1,i=2,lt[2]!=val (备注:lt[2]=2)满足条件,则执行lt[k]=lt[i],3会覆盖2的位置,列表就变成了[1,3,3],循环完毕,返回k值,再使用字符串截取lt[:k],截取从0位置开始,截取长度为k的闭区间长度的字符串,所以为1,3
程序员小新
2021/12/29
2.7K0
Python语句与语法
在python里是不使用{}或者别的符号来限制语句的开始和结尾的,一个语句的开始(除了复合语句),就是开头,换行就是结束。在开头,不能随意增加空格:
没有故事的陈师傅
2019/07/28
1.3K0
Python列表与元组
阅读文本大概需要 4.8 分钟 写在前面 经过一周的学习与试错,到现在基本上已经能够熟练掌握公众号的各项功能以及排版上的一些技巧了。从开始时的笨手笨脚,到现在略微的小有成就,说明其实每一天都在进步。 也许每一天的进步看起来可能微乎其微,但是坚持下来呢?如果以月、以年、以一生为单位的话会怎样呢? 今天在这里立个flag,一方面督促自己更好地坚持创作分享,和大家一起见证此公号的成长;另一方面也希望能给大家带来一些思考,开始着手于做自己感兴趣的事情。 分享给大家一句话:「当你决定好要做一件事情的时候那就开始吧,
Python技术与生活认知的分享
2018/07/03
9320
Python列表与元组
变量只能存一个数据,而集合能存储一组数据。本节我们来介绍两种Python中最常见的数据结构:列表与元组
小雨coding
2020/06/30
2.4K0
Python的高级语法与用法
Python是一种易于学习又功能强大的编程语言。它不仅有简单有效的面向对象编程,还有高效的高级数据结构,就让我们一起来学习这部分的内容吧。
stormwen
2019/08/05
5340
python列表与元组的用法
7.列表生成式   #[i*i for i in range(10)]       [i*i for i in range(10) if i>5]
py3study
2020/01/17
9170
Python列表与deque的区别
一日一技是一个每天更新的栏目,力图做到让你每天用2分钟的时间掌握一个开发技巧。 ---- 根据index读list,时间复杂度为O(1),deque是O(n) 在两头插入数据,deque的时间复杂度为O(1), list为O(n) deque是一个双向链表,所以操作头尾非常简单。 随机往中间插入数据,deque与list的时间复杂度都是O(n)
青南
2018/10/18
1.7K0
python中的列表与元组
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
六小登登
2019/08/14
3.8K0
点击加载更多

相似问题

在Python的列表中如何理解if / else语句?

2450

在Python中如何理解kwargs?

2296

如何理解兼容类型与严格的别名规则?

1189

原生 Markdown 语法是否兼容HTML?

21.1K

为什么Python sets不理解“+”?

2280
相关问答用户
中建数科 | 技术总监架构部总经理擅长3个领域
公司公司公司公司公司公司 | 职务职务职务职务职务职务擅长3个领域
腾讯云TDP | 高级后端开发工程师擅长3个领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档