在Python中以逗号分隔列表查找第N项

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (224)

我有一个大的csv与逗号分隔不同长度的行。对我split(',')在循环中使用的另一组数据进行排序以分隔字段,但此方法要求每一行具有相同数量的条目。有没有办法我可以查看一行,并且独立于条目总数,只需拉出第N项?作为参考,我使用的方法只适用于看起来像这样的线AAA,BBB,CCC,DDD

entry = 'A,B,C,D'

(a,b,c,d) = entry.split(',')
print a,b,c,d

但我想拉A和C,即使看起来像A,B,C,D,E,F或A,B,C

提问于
用户回答回答于

使用列表而不是单独的变量。

values = entry.split(',')
print values[0], values[2]
用户回答回答于

只需使用一个清单:

xyzzy = entry.split(",");
print xyzzy[0], xyzzy[2]

但要注意,一旦你允许可变元素计数的可能性,你可能更好地允许太少:

entry = 'A,B'
xyzzy = entry.split(",");
(a,c) = ('?','?')
if len(xyzzy) > 0: a = xyzzy[0]
if len(xyzzy) > 2: c = xyzzy[2]

print a, c

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励