0

我是 python 新手,想知道列表

a= [blabla, lala, haha, test]

我可以做减法吗

b= 10- len([a])

如果不是从列表中的元素数中减去的方法是什么?

4

4 回答 4

1

[a]是一个只包含的列表a,所以它的长度永远是1,意思b永远是10 - 1 == 9

你可能的意思是

b = 10 - len(a)

len()

于 2013-08-01T19:23:14.177 回答
1

我想这就是你的意思:

a = ['blabla', 'lala', 'haha', 'test']
b = 10 - len(a)

b
=> 6 # 10 - 4 == 6

是的,你可以这么做 :-) 。在您的代码中,这部分不会像您期望的那样工作:len([a])因为这是查找具有单个元素的列表的长度a,这也恰好是一个列表 - 它总是会评估为1.

于 2013-08-01T19:22:48.023 回答
0

你应该改变这个:

b = 10 - len([a])

对此:

b = 10 - len(a)

问题b = 10 - len([a])在于这[a]将是一个具有单个元素的列表,即列表a(即['blabla', 'lala', 'haha', 'test'])。

len(a)应该给你列表的长度a

于 2013-08-01T19:24:58.953 回答
0

听起来您想缩短列表。你说你想从列表中的元素数中减去

b = a[:-10]

将删除最后 10 个元素并将它们存储在 中ba将保持不变

编辑我可能误解了你的英语

此外,10 - len([a])将始终是9因为[a]是大小列表,并且1会告诉您有多长。10-1=9len(a)a

于 2013-08-01T19:23:06.827 回答