1. 迭代删除重复项:先排序列表项,然后通过新迭代(not in)去除重复项,分片打印

def sanitize(time_string):
    if '-' in time_string:
        splitter = '-'
    elif ':' in time_string:
        splitter = ':'
    else:
        return (time_string)
    (mins, secs)=time_string.split(splitter)
    return(mins + '.' + secs)

with open ('james.txt') as jas: data = jas.readline()
james=data.strip().split(',')

print('before sort and senitize, unique for james',james)
james=sorted ([sanitize(t) for t in james])
unique_james=[]
for each_t in james:
    if each_t not in unique_james:
        unique_james.append(each_t)
print('First 3 time for james',unique_james[0:3])

=========== RESTART: C:\Users\eric\Documents\Python\kelly\kelly.py ===========
before sort and senitize, unique for james ['2-34', '3:21', '2.34', '2.45', '3.01', '2:01', '2:01', '3:10', '2-22']
First 3 time for james ['2.01', '2.22', '2.34']

2. 集合删除重复项:先set创建集合去除重复项,然后进行排序,分片打印

def sanitize(time_string):
    if '-' in time_string:
        splitter = '-'
    elif ':' in time_string:
        splitter = ':'
    else:
        return (time_string)
    (mins, secs)=time_string.split(splitter)
    return(mins + '.' + secs)

with open ('james.txt') as jas: data = jas.readline()
james=data.strip().split(',')

print('before sort and senitize, unique for james',james)
james=sorted (set([sanitize(t) for t in james]))
print('First 3 time for james',james[0:3])

=========== RESTART: C:\Users\eric\Documents\Python\kelly\kelly.py ===========
before sort and senitize, unique for james ['2-34', '3:21', '2.34', '2.45', '3.01', '2:01', '2:01', '3:10', '2-22']
First 3 time for james ['2.01', '2.22', '2.34']

3.精简代码,创建一个小函数rmspace去除空白符,通过函数调用分片打印

def sanitize(time_string):
    if '-' in time_string:
        splitter = '-'
    elif ':' in time_string:
        splitter = ':'
    else:
        return (time_string)
    (mins, secs)=time_string.split(splitter)
    return(mins + '.' + secs)

def rmspace(file):
    with open(file) as fo: data=fo.readline()
    return data.strip().split(',')

james=rmspace('james.txt')
print('before sort and senitize, unique for james',james)
print('First 3 time for james',sorted(set([sanitize(t) for t in james]))[0:3])

=========== RESTART: C:\Users\eric\Documents\Python\kelly\kelly.py ===========
before sort and senitize, unique for james ['2-34', '3:21', '2.34', '2.45', '3.01', '2:01', '2:01', '3:10', '2-22']
First 3 time for james ['2.01', '2.22', '2.34']

 

相关文章:

  • 2021-05-26
  • 2022-12-23
  • 2021-08-17
  • 2022-12-23
  • 2022-02-05
  • 2021-08-15
  • 2022-12-23
  • 2022-01-06
猜你喜欢
  • 2021-11-15
  • 2021-09-22
  • 2022-12-23
  • 2022-12-23
  • 2021-10-15
  • 2022-12-23
  • 2021-11-15
相关资源
相似解决方案