我已经生成了一个项目集列表,如下所示:
('chicken',)
('mango',)
('chicken', 'apple')
('chicken', 'rice')
('chicken', 'beer')
('mango', 'apple')
('chicken', 'rice', 'apple')
('beer', 'apple', 'chicken')
('beer', 'rice', 'chicken')
('beer', 'apple', 'chicken', 'rice')
('rice',)
('rice', 'apple')
('beer', 'rice')
('beer', 'rice', 'apple')
('beer', 'apple')
('apple',)
我想知道如何使用python查找每行中的项目数。谁能建议一种方法来做到这一点?
答案 0 :(得分:1)
下面的代码很简单,用pythonic方式编写。
with open('input.txt', 'r') as f:
for line in f.readlines():
print len(line.strip()[1:-1].split(', '))
使用和会使文件在块结束时自动关闭。
从文件中读取所有行并使用for循环迭代它们。
line.strip()删除了前导和尾随空格。
"(' chicken',)" - > "('鸡',)"
索引结果会删除括号
"('鸡',)" - > "'鸡'"
现在可以使用,分割字符串。
答案 1 :(得分:0)
如果元组在列表中,您可以执行以下操作:
map(len,TupleLst)
如果是文本文件:
f.open("document")
lines = f.readlines()
f.close()
map(lambda x: len(eval(x)),lines)