内蔵の機能と操作モジュール、Pythonプログラミングのアイデアを学びます

次のように1、文書は題し、読み:名前、性別、年齢、給与を

男性18 3000エゴン・
アレックス男性38 30000
wupeiqi女性28 20000
yuanhao女性28万

要件:
リストにファイルから各レコードを削除し、
リストの各要素は、{:「エゴン」「名」で 、「セックス」:「男性」、「年齢」:18「給与」:3000} フォーム

with open('db.txt','rt',encoding='utf8') as f:
    user_info = []
    for line in f:
        name,sex,age,salary=line.strip().split()
        info = [name,sex,int(age),int(salary)]
        user = {k:v for k,v in zip(['name','sex','age','salary'],info)}
        user_info.append(user)

print(user_info)

2、表1に従って得られ、最高給抽出した人物の情報

max_salary_info = max(user_info,key=lambda k:k['salary'])
print(max_salary_info)

リストによると3は、若者の情報の大部分を除去することにより得られます

youngest_info = min(user_info,key=lambda k:k['age'])
print(youngest_info)

4、名前= [ 'エゴン'、 'alex_sb'、 'wupeiqi'、 'yuanhao']すべての変更キャップの名前で

names=['egon','alex_sb','wupeiqi','yuanhao']
names1 = map(lambda name:name.upper() ,names)
names2 = (name.upper() for name in names)
print(list(names1))
print(list(names2))

フィルタ5、名前= [「エゴン」、「alex_sb」、「wupeiqi」、「yuanhao」] SB端名うち、名前の残りの長さを格納します

names=['egon','alex_sb','wupeiqi','yuanhao']
sb_name = [name[:-3] for name in names if name.endswith('sb')]
print(sb_name[0])

sb_name1 = list(filter(lambda name:name.endswith('sb'),names))
print(sb_name1[0][:-3])

6、最長の長さは、行A.TXTファイルをシーク(長さによってカウント文字数が、MAX関数を使用する必要があります)

with open('a.txt','rt',encoding='utf8') as f:
    max_line = max(f,key=lambda k:len(k))

res = len(max_line)
print(res)

7、A.TXTファイルを求めている文字の数は、合計が含まれていますか?ゼロに合計したn番目の和の最初の後の結果を考えて?(必須のsum関数)
メソッド

with open('a.txt','rt',encoding='utf8') as f:
    res = 0
    for line in f:
        res += len(line)

print(res)

方法二

with open('a.txt','rt',encoding='utf8') as f:
    res= sum([len(line) for line in f])

print(res)

with open('a.txt','rt',encoding='utf8') as f:
    res = sum(len(line) for line in f)
    res1= sum(len(line) for line in f)

print(res)  #130
print(res1) #0

ファイルポインタは、第1の和和後にファイルの最後にジャンプすることであるため

with open('a.txt','rt',encoding='utf8') as f:
    res = sum(len(line) for line in f)
    f.seek(0,0)
    res1= sum(len(line) for line in f)

print(res)  #130
print(res1) #130

8つの質問

with open('a.txt') as f:
    g=(len(line) for line in f)
print(sum(g)) #为何报错?

Gはジェネレータであるg値が読み出されるコンテンツファイルを生成し、; SUM(g)の範囲外の制御と、エラーが報告されています。

shopping.txtは、次のように9、文書が読み込み

マック、20000,3
レノボ、3000,10
テスラ、1000000,10
チキン、200、1
費やされた合計を求めていますか?

with open('shopping.txt','rt',encoding='utf8') as f:
    shopping_list = []
    keys = ['name','price','count']
    for line in f:
        name,price,count=line.strip().split(',')
        values=[name,int(price),int(count)]
        shopping_list.append(dict(zip(keys,values)))

total_money = sum(item['price']*item['count'] for item in shopping_list)
print(total_money)

[...、{3 'XXX'、 '価格':333、 '数' '名前'}]の形式をすべての商品情報を印刷

print(shopping_list)

上記の形式で、1万人以上の製品情報の単価を探しています

ten_thousand_more = filter(lambda x:x.get('price')>10000,shopping_list)
print(list(ten_thousand_more))

10は、思考は:次の文は正しい判断します

タイトル1:
1、すべての機能は、プログラム・モジュールに投入する必要があり、それらが導入モジュールを介して参照される
誤差
関数の一部に投入そのモジュール2、番組共有コンポーネントの部分のみべきであり、その後、参照、これらの方法により、モジュールをインポートする
ための
2タイトル
を実行するものであるPythonのファイルやPython輸入文書の違いは?
実行のpythonファイルには、このPythonのファイルのインポート他のファイルパイソン場合、Pythonは、名前空間ファイルのインポートが生成されます、ファイル・スペースの名前を持っています
名前空間のpythonファイルをインポートするPythonのファイルのインポートを生成します。 Pythonのインポート結果のファイルに名前、名前空間名ポイント
のpythonファイルを実行するための名前空間がリサイクル、そしてなぜ生産された場合?
Pythonのファイル回復操作の後
、名前空間のインポートのpythonファイルがリサイクルによって生成され、なぜですか?
Pythonのファイルを実行した後の回復を輸入しています

おすすめ

転載: www.cnblogs.com/leilijian/p/12577239.html