python中,如何将list中的各个值快速赋值给变量

有list1=[1,2,3,4]如何快速将1,2,3,4快速赋值给变量a,b,c,d是不是a,b,c,d=iforiinlist1?... 有list1 = [1,2,3,4]
如何快速将1,2,3,4快速赋值给变量a,b,c,d
是不是 a,b,c,d = i for i in list1?
展开
 我来答
maahda
推荐于2017-11-23 · TA获得超过675个赞
知道小有建树答主
回答量:361
采纳率:0%
帮助的人:241万
展开全部
a, b, c, d = list1
这种方式只有当左边的操作数个数和list1长度相同时,才可以这么做,不然不报错.
我们假设我们有一个list对象List,它的长度足够长,想把它从下标i开始的k个元素赋给k个元素,可以这么做:
v1, v2, v3, ..., vk = List[i : i + k] #默认i=0, k=len(List)
其实你的问题相当于:
a, b, c, d = list1[0 : 4]
knkhjc
2011-01-26 · TA获得超过1724个赞
知道小有建树答主
回答量:1614
采纳率:0%
帮助的人:299万
展开全部
Python 的强大特性之一是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list。

例 3.24. List 解析介绍

>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem in li]
[2, 18, 16, 8]
>>> li
[1, 9, 8, 4]
>>> li = [elem*2 for elem in li]
>>> li
[2, 18, 16, 8]

为了便于理解它,让我们从右向左看。li 是一个将要映射的 list。Python 循环遍历 li 中的每个元素。对每个元素均执行如下操作:首先临时将其值赋给变量 elem,然后 Python 应用函数 elem*2 进行计算,最后将计算结果追加到要返回的 list 中。

需要注意是,对 list 的解析并不改变原始的 list。

将一个 list 的解析结果赋值给对其映射的变量是安全的。不用担心存在竞争情况或任何古怪事情的发生。Python 会在内存中创建新的 list,当对 list 的解析完成时,Python 将结果赋给变量。

From <dive into python>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zxx117a
2011-01-26
知道答主
回答量:67
采纳率:0%
帮助的人:97.3万
展开全部
建议使用:(a, b, c, d) = list1
参考 <<Python 核心编程>>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
107011162
2011-01-25 · TA获得超过1066个赞
知道小有建树答主
回答量:803
采纳率:0%
帮助的人:532万
展开全部
a,b,c,d = list1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式