为了账号安全,请及时绑定邮箱和手机立即绑定

尝试在 for 循环中设置列表的每个部分

尝试在 for 循环中设置列表的每个部分

当年话下 2023-12-29 16:07:47
 info = [[30.22,-81.88,VFR],[27.18,-80.22,VFR], [35.35,-89.87,MVFR]]这是我的列表的一小部分,里面有列表。这是我的常规列表“信息”中 4700 个列表的较长列表的一小段我基本上需要获取每个列表中的每个值并将它们放入变量中,例如: info[1]是[30.22,-81.88,VFR]并且我需要设置lat[i] = 30.22, long[I] = -81.11, cat[I] = VFR然后我将在 OpenStreetMap 上映射这些坐标等等。所以我的问题是如何获取每个列表并取出每个列表的每个值?我最好的猜测是 for 循环内有一个 for 循环?
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

将每个元素转换为元组,然后将元组拆分为变量或将每个内部元素附加到列表中。


分割元组:


info = [[30.22,-81.88,'VFR'],[27.18,-80.22,'VFR'], [35.35,-89.87,'MVFR']]


lat = [None] * len(info)

long = [None] * len(info)

cat = [None] * len(info)


for i,e in enumerate(info):

   lat[i], long[i], cat[i] = tuple(e)


print(lat)

print(long)

print(cat)

附加内部元素:


info = [[30.22,-81.88,'VFR'],[27.18,-80.22,'VFR'], [35.35,-89.87,'MVFR']]


lat = []

long = []

cat = []


for e in info:

   lat.append(e[0])

   long.append(e[1])

   cat.append(e[2])

   

print(lat)

print(long)

print(cat)

列表理解也是一种选择:


info = [[30.22,-81.88,'VFR'],[27.18,-80.22,'VFR'], [35.35,-89.87,'MVFR']]


lat =  [e[0] for e in info]

long = [e[1] for e in info]

cat =  [e[2] for e in info]

   

print(lat)

print(long)

print(cat)

全部都有相同的结果:


[30.22, 27.18, 35.35]

[-81.88, -80.22, -89.87]

['VFR', 'VFR', 'MVFR']


查看完整回答
反对 回复 2023-12-29
  • 1 回答
  • 0 关注
  • 48 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信