查找列表中字符串的平均长度

Joe*_*art 3 python list python-2.7

我有一个包含大量数据的大型列表,这些数据是从csv文件中读取的.为简单起见,我将为您提供一个虚拟列表,其中包含的数据要少得多.

list1 = ['foo', 'bar', 'bob', 'jess', 'google', 'alphabet']
Run Code Online (Sandbox Code Playgroud)

我想找到列表中字符串的平均长度.我目前正在这样做:

all_lengths = []
num_of_strings = len(list1)

for item in list1:
    string_size = len(item)
    all_lengths.append(string_size)
    total_size = sum(all_lengths)
ave_size = float(total_size) / float(num_of_strings)
Run Code Online (Sandbox Code Playgroud)

问题是,因为真实列表太大,所以执行此操作需要花费相当长的时间.

是否有更优化或更优雅的方式来执行此操作.

另外,使用Python2.7可以获得它的价值

ig-*_*nyk 11

total_avg = sum( map(len, strings) ) / len(strings)
Run Code Online (Sandbox Code Playgroud)

代码中的问题出在这行代码中: total_size = sum(all_lengths) 没有必要在循环的每个循环中计算它.循环后更好地完成这个.