Difference between revisions of "Python: String Operation"

From OnnoWiki
Jump to navigation Jump to search
Line 51: Line 51:
 
     print " ".join(line.strip() for line in f)
 
     print " ".join(line.strip() for line in f)
 
  f.close()
 
  f.close()
 +
 +
 +
==Frequency word==
 +
 +
list1 = []    #this is your original list of words
 +
list2 = []    #this is a new list
 +
 +
for word in list1:
 +
    if word in list2:
 +
        list2.index(word)[1] += 1
 +
    else:
 +
        list2.append([word,0])
 +
 +
Or, more efficiently:
 +
 +
for word in list1:
 +
    try:
 +
        list2.index(word)[1] += 1
 +
    except:
 +
        list2.append([word,0])

Revision as of 05:56, 2 February 2017


Strip /n

  • line.strip() - remove all types of whitespaces from both ends of the line.
  • line.rstrip("\n") remove only the trailing "\n".


Hitung banyak word

len(string.split())


Join Line

Pakai str.join:

with open('file.txt') as f:
    print " ".join(line.strip() for line in f)


Remove specific line

f = open("yourfile.txt","r")
lines = f.readlines()
f.close()

f = open("yourfile.txt","w")
for line in lines:
  if line!="nickname_to_delete"+"\n":
    f.write(line)
f.close()


Percobaan

namafile = "yourfile.txt"
f = open(namafile,"r")
lines = f.readlines()
f.close()

f = open(namafile,"w")
for line in lines:
  if len(line.split())>1:
    f.write(line)
f.close()
f = open(namafile,"r")
    print " ".join(line.strip() for line in f)
f.close()


Frequency word

list1 = []    #this is your original list of words
list2 = []    #this is a new list

for word in list1:
    if word in list2:
        list2.index(word)[1] += 1
    else:
        list2.append([word,0])

Or, more efficiently:

for word in list1:
    try:
        list2.index(word)[1] += 1
    except:
        list2.append([word,0])