ait Dosya çok büyük, sadece çift ilk yüzer yayın yapmak için:
In [8]: int(float("1.23456e+03"))
Out[8]: 1234
Sen yapabilirsiniz:
[int(float(i)) for i in data1]
int
irade zemin sizin için numara arayarak hepsi mantıksal olarak:
with open("/home/milenko/Distr70_linux/Projects/Tutorial_Ex3/myex/base.txt", 'r') as f:
floored = [int(float(line)) for line in f]
Dosyalarınızı açmak için with'u kullanmak iyi bir uygulamadır, dosyalarınızın sizin için kapatılmasını sağlar. Ayrıca int ve yüzer, önde gelen veya arkadaki beyaz alanı işleyebilir, böylece şerit kullanma konusunda endişelenmenize gerek kalmaz. Ayrıca
sadece yüzer çekin ve değil aynı zamanda zemin, map
bir dosya veya herhangi iterable gelen yüzen, ints vb .. bir listesini oluşturarak güzel bir yoludur isteyen olsaydı:
floored = list(map(float, f))
Ya python2 eşdeğer kod itertools.imap
kullanarak olurdu
floored = list(map(int, map(float, f)))
: harita, bir yineleyici döndürür python3 kullanarak, haritayı ikiye katla
Sen yüzer için dizeleri de çevirebilirsiniz dönüştürmek gereken bir şamandıra olduğu
str
tiptedir. 'data1 = [float (line.strip()) satır içi ...]' – khelwood