언어 처리 100개 타격 04

입문


최근에 줄곧 python으로 스펙트럼(mass spectrum)의 의합을 썼는데, 100개 언어로 처리하지 않았기 때문에 오랜만에 투고한 것이다.너무 했지만 움직일 줄 알아서...
누구도 인코딩의 질에 신경 쓰지 마라!빨리 뛰면 돼!그런 말을 하는 것 같아서...
참고할 만한 댓글이 있으면 큰 도움이 될 것 같아요.
내포 표기와 맵 등은 아직 자신의 것이 되지 않았다...

04. 요소 기호


"Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."문장은 단어로 분해된다. 제1, 5, 6, 7, 8, 9, 15, 16, 19개의 단어는 첫머리의 1문자이고, 다른 단어는 첫머리에서 2문자를 꺼내서 꺼낸 문자열에서 단어 위치(첫머리에서 몇 번째 단어)의 연상 배열(사전형 또는 맵형)을 만든다.
결과 내보내기
0 H
1 He
2 Li
3 Be
4 B
5 C
6 N
7 O
8 F
9 Ne
10 Na
11 Mi
12 Al
13 Si
14 P
15 S
16 Cl
17 Ar
18 K
19 Ca
04knock.py
st0="Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."

words=st0.split()

i=0


for (i,x) in enumerate(words):
 if i==0 or i==4 or i==5 or i==6 or i==7 or i==8 or i==14 or i==15 or i==18:
  print(i,x[0:1])
 else:
  print(i,x[0:2])
이렇게 하면 순조롭다.문제문의 의미를 이해하지 못해 약간 곤혹스러웠지만 @segavvy 씨의 사이트를 참고하여 엔누메라테라는 것을 알게 되었습니다.
https://qiita.com/segavvy/items/4e592dea2f828e5385ff
enumerate는'열거','열거'라는 뜻이다.색인과 함께 간단하게 목록을 만듭니다.
진작 알고 싶은데...
댓글에 연상 배열을 이해하지 못하고 위의 코드가 배열도 하지 않은 것을 알아차리고 다시 썼다고 지적해 주세요.
결과 내보내기
{1: 'H', 2: 'He', 3: 'Li', 4: 'Be', 5: 'B', 6: 'C', 7: 'N', 8: 'O', 9: 'F', 10: 'Ne', 11: 'Na', 12: 'Mi', 13: 'Al', 14: 'Si', 15: 'P', 16: 'S', 17: 'Cl', 18: 'Ar', 19: 'K', 20: 'Ca'}
04knock.py
st0="Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."

words=st0.split()

i=0
dic={}


for (i,x) in enumerate(words):
 if i==0 or i==4 or i==5 or i==6 or i==7 or i==8 or i==14 or i==15 or i==18:
  dic[i+1]=x[0:1]
 else:
  dic[i+1]=x[0:2]

print(dic)
이게 맞는지 모르겠지만 목록과 달리 색인 지정으로 대입된 형식입니다.
목록과 연상수 그룹의 차이는 연상수 그룹이value를 원소로 하고 연상수 그룹은key와value를 원소로 하는 것이다
재정비
이 투고에 링크된 사람이 논평에서 문제의 의도와 벗어났기 때문에 다시 수정할 수 있도록 허락해 주십시오.
결과 내보내기
{'H': 1, 'He': 2, 'Li': 3, 'Be': 4, 'B': 5, 'C': 6, 'N': 7, 'O': 8, 'F': 9, 'Ne': 10, 'Na': 11, 'Mi': 12, 'Al': 13, 'Si': 14, 'P': 15, 'S': 16, 'Cl': 17, 'Ar': 18, 'K': 19, 'Ca': 20}
04knock.py
st0="Hi He Lied Because Boron Could Not Oxidize Fluorine. New Nations Might Also Sign Peace Security Clause. Arthur King Can."

words=st0.split()

i=0
dic={}


for (i,x) in enumerate(words):
 if i==0 or i==4 or i==5 or i==6 or i==7 or i==8 or i==14 or i==15 or i==18:
  dic[x[0:1]]=i+1
 else:
  dic[x[0:2]]=i+1

print(dic)
변경된 부분은 if문장의 연상수 그룹의 지정한 측에 문자를 교체하고, 대입한 측에 숫자를 교체했다.이것은 상당히 신선하다.나는 처음으로 이런 일을 했다.
연상 배열, 용도는 아직 생각해 내지 못했지만, 앞으로는 사용할 수 있을 때 사용하고 싶다.
이번 투고는 잘 못했으니 다음에 자신의 코드를 자세히 보고 투고하고 싶다.

좋은 웹페이지 즐겨찾기