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)
没有必要在循环的每个循环中计算它.循环后更好地完成这个.