100 coups de traitement du langage http://www.cl.ecei.tohoku.ac.jp/nlp100/ Du chapitre 1 00 au 09
Obtenez une chaîne dans laquelle les caractères de la chaîne «souligné» sont disposés à l'envers (de la fin au début).
python
print('stressed'[::-1])
Retirez les 1er, 3ème, 5ème et 7ème caractères de la chaîne de caractères "Patatokukashi" et obtenez la chaîne de caractères concaténée.
python
print('Patatoku Kashii'[::2])
Obtenez la chaîne de caractères "Patatokukashi" en reliant alternativement les caractères "Pattocar" + "Tax" depuis le début.
python
print(''.join(x+y for x, y in zip('Voiture Pat', 'Taxi')))
Décomposez la phrase "Maintenant, j'ai besoin d'un verre, alcoolique bien sûr, après les lourdes conférences sur la mécanique quantique." En mots, et créez une liste du nombre de caractères (alphabétiques) de chaque mot par ordre d'apparition.
python
import re
s = 'Now I need a drink, alcoholic of course, after the heavy \
lectures involving quantum mechanics.'
s = re.sub(r'[^A-Za-z\ ]+', '', s)
print([len(x) for x in s.split()])
Ce que vous avez commenté
s = 'Now I need a drink, alcoholic of course, after the heavy \
lectures involving quantum mechanics.'
print([len(w.rstrip(',.')) for w in s.split()])
Ce que vous avez commenté
s = 'Now I need a drink, alcoholic of course, after the heavy \
lectures involving quantum mechanics.'
print([sum(c.isalpha() for c in w) for w in s.split()])
Décomposez la phrase "Salut, il a menti parce que le bore ne pouvait pas oxyder le fluor. De nouvelles nations pourraient également signer une clause de sécurité de paix. Arthur King Can." En mots 1, 5, 6, 7, 8, 9, 15, 16, 19 Le premier mot est le premier caractère et les autres mots sont les deux premiers caractères, et le tableau associatif (type de dictionnaire ou type de carte) de la chaîne de caractères extraite à la position du mot (quel nombre de mots depuis le début) est créé. Créez-le.
python
import re
s = 'Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might \
Also Sign Peace Security Clause. Arthur King Can.'
s = re.sub(r'[^A-Za-z\ ]+', '', s)
print(
{x[:1] if i in [1, 5, 6, 7, 8, 9, 15, 16, 19] else x[:2]: i+1 \
for i, x in enumerate(s.split(' '), 1)}
)
Ce que vous avez commenté
s = 'Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might \
Also Sign Peace Security Clause. Arthur King Can.'
print({w[:2-(i in (1,5,6,7,8,9,15,16,19))]:i for i,w in enumerate(s.split(),1)})
python
def n(s):
return [s[i:i+2] for i in range(len(s) if len(s) % 2 == 0 else len(s)-1)]
s = 'I am an NLPer'
print(n(s))
print(n(s.split(' ')))
Trouvez l'ensemble des bi-grammes de caractères contenus dans «paraparaparadise» et «paragraphe» comme X et Y, respectivement, et trouvez l'ensemble de somme, l'ensemble de produits et l'ensemble de différences de X et Y, respectivement. En outre, découvrez si le bi-gram'se' est inclus dans X et Y.
python
def n(s):
return [s[i:i+2] for i in range(len(s) if len(s) % 2 == 0 else len(s)-1)]
x = set(n('paraparaparaise'))
y = set(n('paragraph'))
print(x.union(y))
print(x.intersection(y))
print(x.difference(y))
print("se" in x)
print("se" in y)
Implémentez une fonction qui prend les arguments x, y, z et renvoie la chaîne "y at x is z". De plus, définissez x = 12, y = "température", z = 22,4 et vérifiez le résultat de l'exécution.
python
def f(x, y, z):
return '%temps de s%s est%s' % (x, y, z)
print(f(12, 'Température', 22.4))
Implémentez le chiffrement de fonction qui convertit chaque caractère de la chaîne de caractères donnée selon les spécifications suivantes.
Remplacer par (219 --character code) caractères si minuscules Afficher les autres caractères tels quels Utilisez cette fonction pour crypter / décrypter les messages en anglais.
python
def cipher(s):
r = ''
for x in s:
if 97 <= ord(x) <= 122:
r += chr(219 - ord(x))
else:
r += x
return r
s = "I couldn't believe that I could actually understand what I was reading : \
the phenomenal power of the human mind ."
print(cipher(s))
print(cipher(cipher(s)))
Ce que vous avez commenté
def cipher(s):
return ''.join(c.islower() and chr(219-ord(c)) or c for c in s)
s = "I couldn't believe that I could actually understand what I was reading : \
the phenomenal power of the human mind ."
print(cipher(s))
print(cipher(cipher(s)))
python
import random
s = "I couldn't believe that I could actually understand what I was \
reading : the phenomenal power of the human mind ."
s = s.split(' ')
for i, x in enumerate(s):
if len(x) > 4:
r = x[1:-1]
s[i] = x[0] + ''.join(random.sample(r, len(r))) + x[-1]
print(' '.join(s))
Recommended Posts