x 개의 알 수없는 문자로 구성된 문자열이 있다고 가정 해 보겠습니다. 문자 번호를 어떻게 얻을 수 있습니까? 13 또는 char nr. x-14?
답변
먼저 필요한 숫자가 시작 또는 끝의 문자열에 대한 유효한 인덱스 인지 확인한 다음 배열 첨자 표기법을 사용할 수 있습니다. len(s)
문자열 길이를 얻는 데 사용
>>> s = "python"
>>> s[3]
'h'
>>> s[6]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> s[0]
'p'
>>> s[-1]
'n'
>>> s[-6]
'p'
>>> s[-7]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>>
답변
In [1]: x = "anmxcjkwnekmjkldm!^%@(*)#_+@78935014712jksdfs"
In [2]: len(x)
Out[2]: 45
이제 x의 양수 인덱스 범위는 0에서 44까지입니다 (예 : 길이-1).
In [3]: x[0]
Out[3]: 'a'
In [4]: x[45]
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
/home/<ipython console> in <module>()
IndexError: string index out of range
In [5]: x[44]
Out[5]: 's'
음수 인덱스의 경우 인덱스 범위는 -1에서 -45입니다.
In [6]: x[-1]
Out[6]: 's'
In [7]: x[-45]
Out[7]: 'a
음수 색인의 경우 음수 [길이 -1] 즉, 양수 색인의 마지막 유효한 값은 목록을 역순으로 읽을 때 두 번째 목록 요소를 제공합니다.
In [8]: x[-44]
Out[8]: 'n'
기타, 인덱스의 예,
In [9]: x[1]
Out[9]: 'n'
In [10]: x[-9]
Out[10]: '7'
답변
이전 답변 ASCII character
은 특정 색인 에 대해 다룹니다 .
Unicode character
Python 2에서 특정 인덱스 를 얻는 것은 약간 번거 롭습니다.
와 예, s = '한국中国にっぽん'
이다 <type 'str'>
,
__getitem__
예를 들어, s[i]
은 (는) 원하는 곳으로 연결되지 않습니다. 그것은 같은 semething을 뱉어 낼 것 �
입니다. (많은 유니 코드 문자가 1 바이트 이상이지만 __getitem__
Python 2에서는 1 바이트 씩 증가합니다.)
이 Python 2의 경우 디코딩하여 문제를 해결할 수 있습니다.
s = '한국中国にっぽん'
s = s.decode('utf-8')
for i in range(len(s)):
print s[i]
답변
답변
목록과 색인을 이해하기위한 또 다른 권장 사항 :
L = ['a', 'b', 'c']
for index, item in enumerate(L):
print index + '\n' + item
0
a
1
b
2
c
답변
이것은 요점을 더 명확히해야합니다.
a = int(raw_input('Enter the index'))
str1 = 'Example'
leng = len(str1)
if (a < (len-1)) and (a > (-len)):
print str1[a]
else:
print('Index overflow')
입력 3 출력 m
입력 -3 출력 p
답변
말로 설명하는 것보다 더 분명하다고 생각합니다
s = 'python'
print(len(s))
6
print(s[5])
'n'
print(s[len(s) - 1])
'n'
print(s[-1])
'n'