風火プログラミング--面接問題

821 ワード

基礎面接問題
1.辞書のすべての値が真である要素を選択
d = {i: i for i in range(10)}
d.update({str(i): None for i in range(1000000)})

#     
r = {i[0]: i[-1] for i in d.items() if i[-1]}
print(r)

2.リスト内の学生情報リストを'age'降順に並べ替える
lst = [{'name': '  ', 'age': 10}, {'name': '  ', 'age': 11}]

#        
r = sorted(lst, key=lambda x: x['age'], reverse=True)
print(r)

3.統計文字列の中で何種類の異なる文字があって、そして最も多い前の3つの文字とその個数を与えます
s = "1234356897089234234345345789890"

#     
from collections import Counter
c = Counter(s)
print(len(c))
print(c.most_common(3))

4.無限ループ文字列
s = "1234abcd!@"

#     
from itertools import cycle
s_gen = cycle(s)
for i in s_gen:
    print(i)