查找列表中项目的长度[Python]

时间:2017-08-08 10:51:19

标签: python python-3.x list loops

我已经搜索过,无法找到任何帮助。我有一个像这样的列表

['EGLC', 'LON', 'TUPIN', 'WEEE', 'KJFK']

忽略第一个和最后一个项目,但我需要找到每个项目之间的长度。该列表没有设置大小或格式,因此它们的长度会发生变化。我需要找到第二个项目的长度(LON)(长度将是3或5),然后我运行它,然后它必须循环回来检查第二个项目的长度,并重复,但不检查最后一个的长度。 感谢

4 个答案:

答案 0 :(得分:4)

中间的三个项目的长度可以通过以下方式找到:

mylist = ['EGLC', 'LON', 'TUPIN', 'WEEE', 'KJFK']
lengths = [len(i) for i in mylist[1:-1]]
print(lengths)

输出结果为:

[3, 5, 4]

答案 1 :(得分:0)

您可以简单地使用列表推导来获取除第一个和最后一个元素之外的所有元素的长度:

my_list = ['EGLC', 'LON', 'TUPIN', 'WEEE', 'KJFK']

len_list = [len(x) for x in my_list[1:-1]]

点击此链接了解更多此类示例:List comprehensions in Python

以下是Official Documentation

答案 2 :(得分:-1)

试试这个:

a = ['EGLC', 'LON', 'TUPIN', 'WEEE', 'KJFK']
[len(a[item_]) for item_ in range(1, len(a)-1)]

答案 3 :(得分:-1)

您可以尝试这种最简单的方法,例如:

arr = ['EGLC', 'LON', 'TUPIN', 'WEEE', 'KJFK']
length = []
for i in range(1, len(arr) - 1):
  length.append(len(arr[i]))

print(length)

或者,应用其他流程:

arr = ['EGLC', 'LON', 'TUPIN', 'WEEE', 'KJFK']
length = []
for val in arr[1:-1]:
  length.append(len(val))

print(length)

输出:

[3, 5, 4]