108
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Giả sử tôi có một chuỗi bao gồm X không xác định. Làm thế nào tôi có thể nhận được char nr. 13 hoặc char nr. X-14?
Đã hỏi ngày 13 tháng 1 năm 2012 lúc 9:22Jan 13, 2012 at 9:22
Trước tiên, hãy đảm bảo số yêu cầu là một chỉ mục hợp lệ cho chuỗi từ đầu hoặc kết thúc, sau đó bạn chỉ có thể sử dụng ký hiệu đăng ký mảng. Sử dụng
In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
0 để có độ dài chuỗia valid index for the string from beginning or end , then you can simply use array subscript notation. use In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
0 to get string length >>> s = "python"
>>> s[3]
'h'
>>> s[6]
Traceback [most recent call last]:
File "", line 1, in
IndexError: string index out of range
>>> s[0]
'p'
>>> s[-1]
'n'
>>> s[-6]
'p'
>>> s[-7]
Traceback [most recent call last]:
File "", line 1, in
IndexError: string index out of range
>>>
Đã trả lời ngày 13 tháng 1 năm 2012 lúc 9:26Jan 13, 2012 at 9:26
DhruvpathakdhruvpathakDhruvPathak
41.1K15 Huy hiệu vàng114 Huy hiệu bạc173 Huy hiệu đồng15 gold badges114 silver badges173 bronze badges
5
In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
Bây giờ, đối với phạm vi chỉ số dương cho x là từ 0 đến 44 [tức là chiều dài - 1]
In [3]: x[0]
Out[3]: 'a'
In [4]: x[45]
---------------------------------------------------------------------------
IndexError Traceback [most recent call last]
/home/ in []
IndexError: string index out of range
In [5]: x[44]
Out[5]: 's'
Đối với chỉ số âm, chỉ số dao động từ -1 đến -45
In [6]: x[-1]
Out[6]: 's'
In [7]: x[-45]
Out[7]: 'a
Đối với chỉ số âm, âm [độ dài -1] âm tính giá trị hợp lệ cuối cùng của chỉ mục dương sẽ đưa ra phần tử danh sách thứ hai vì danh sách được đọc theo thứ tự ngược lại,
In [8]: x[-44]
Out[8]: 'n'
Khác, các ví dụ của chỉ mục,
In [9]: x[1]
Out[9]: 'n'
In [10]: x[-9]
Out[10]: '7'
Đã trả lời ngày 13 tháng 1 năm 2012 lúc 9:28Jan 13, 2012 at 9:28
Avasalavasalavasal
13,9K4 Huy hiệu vàng30 Huy hiệu bạc47 Huy hiệu đồng4 gold badges30 silver badges47 bronze badges
2
Câu trả lời trước đây bao gồm
In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
1 tại một chỉ số nhất định.Có một chút rắc rối khi nhận được
In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
2 tại một chỉ số nhất định trong Python 2.Ví dụ: với
In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
3 là In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
4,In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
5, ví dụ, In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
6, không dẫn bạn đến nơi bạn mong muốn. Nó sẽ nhổ ra một cái gì đó như In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
7. [Nhiều ký tự Unicode có nhiều hơn 1 byte nhưng In [1]: x = "anmxcjkwnekmjkldm!^%@[*]#_+@78935014712jksdfs"
In [2]: len[x]
Out[2]: 45
5 trong Python 2 được tăng lên bởi 1 byte.]Trong trường hợp Python 2 này, bạn có thể giải quyết vấn đề bằng cách giải mã:
s = '한국中国にっぽん'
s = s.decode['utf-8']
for i in range[len[s]]:
print s[i]
Đã trả lời ngày 7 tháng 3 năm 2018 lúc 5:34Mar 7, 2018 at 5:34
Ghchoighchoighchoi
4.5454 Huy hiệu vàng26 Huy hiệu bạc51 Huy hiệu Đồng4 gold badges26 silver badges51 bronze badges
Python.org có một phần tuyệt vời trên các chuỗi ở đây. Cuộn xuống nơi nó nói "ký hiệu lát".
Đã trả lời ngày 13 tháng 1 năm 2012 lúc 21:29Jan 13, 2012 at 21:29
Joel Cornettjoel CornettJoel Cornett
23,5K9 Huy hiệu vàng60 Huy hiệu bạc85 Huy hiệu Đồng9 gold badges60 silver badges85 bronze badges
Một phát triển được đề xuất khác để hiểu danh sách và chỉ mục:
L = ['a', 'b', 'c']
for index, item in enumerate[L]:
print index + '\n' + item
0
a
1
b
2
c
Đã trả lời ngày 13 tháng 1 năm 2012 lúc 13:49Jan 13, 2012 at 13:49
Yurisichyurisichyurisich
6.8535 huy hiệu vàng41 Huy hiệu bạc62 Huy hiệu đồng5 gold badges41 silver badges62 bronze badges
Điều này sẽ làm rõ hơn các điểm:
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']
Đầu vào 3 đầu ra m
Đầu vào -3 đầu ra p
Đã trả lời ngày 13 tháng 1 năm 2012 lúc 13:26Jan 13, 2012 at 13:26
Arnab Ghosalarnab GhosalArnab Ghosal
4831 Huy hiệu vàng4 Huy hiệu bạc11 huy hiệu đồng1 gold badge4 silver badges11 bronze badges
Tôi nghĩ điều này rõ ràng hơn là mô tả nó bằng lời nói
s = 'python'
print[len[s]]
6
print[s[5]]
'n'
print[s[len[s] - 1]]
'n'
print[s[-1]]
'n'
Đã trả lời ngày 15 tháng 2 năm 2020 lúc 8:31Feb 15, 2020 at 8:31