python同时输入多个变量_求Python同时操作多个变量方法

acdfed417f45ef921e5c852de1e5ca67.png

题干: 若有如下结构的内容: (格式: 元素序号, 变量值, 状态)

filter函数

如:filter(lambda d:d==***,data)[0][2]from operator import itemgetter

def pai_xu(xs):

return sorted(xs, key=itemgetter(1))

def di_san_ge(xs):

return [x[2] for x in xs]

def hui_da(xs):

return di_san_ge(pai_xu(xs))

print(hui_da([(1, 25, 'good'), (2, -7, 'bad'),

(3, 5, 'good'), (4, 98, 'good')]))

# => ['bad', 'good', 'good', 'good']

问1:def testa():

l = [(1, 25, 'good'),

(2, -7, 'bad'),

(3, 5, 'good'),

(4, 98, 'good')]

for x, y, z in sorted(l, key=lambda x:x[1]):

print z

问2:import math

def testb(xi):

l = [(1, 98, 'good'),

(2, 4, 'bad'),

(3, 9, 'good')]

# key值=开方后加系数?

for x, y, z in sorted(l, key=lambda x:(math.sqrt(x[1])+xi)):

print z

testb(3)

感觉应该类比人的思维过程,不知道序号在这里有什么用,或者你可以把整个列表存在字典里,key是第二列,value是第一列和第三列。然后根据key排序,输出时候调整一下。不知道有没有别的好的办法。

如果第二列(变量值)是唯一的,可以把上面内容存在字典里,变量值作为key,排序后直接读状态(value)值。

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd20205.html

相关文章 Recommend

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值