![](/img/trans.png)
[英]Given array of string contain X number of words return the same word for a given day
[英]How to return (x) number of characters in a given string?
我來這已經有一段時間了,而且我已經很近了。
我有兩個問題需要完成。 我完成的第一個。 它應該返回給定字符串的前三個索引,如果字符串少於3個字母,則不返回任何內容。 看起來像這樣:
第二個是相似的,但是涉及更多。 問題是:
希望這可以解釋我的問題。 我不知道如何獲取輸入的數字以與我要打印的索引數相對應。 在第一個問題中,它很簡單,因為始終只使用前三個索引。 現在,它是(n)個索引數。
非常感謝任何幫助(我正在使用Python 3.4.2)
def returnN(string, length):
return string[:length] if len(string) >= length else ''
實際上:
>>> returnN('hello', 2)
'he'
>>> returnN('hello', 5)
'hello'
>>> returnN('BYE', 1)
'B'
>>> returnN('BYE', 10)
''
使用字符串方法的len和slice方法,例如:
def returnN(string, length):
length_string = len(string)
if length > length_string:
return ''
return string[0:length]
print(returnN('hello', 5))
print(returnN('hello', 2))
print(returnN('Nye', 1))
print(returnN('OKOK', 10))
或簡單的方法:
def returnN_S(string, length):
return string[: length] if length <= len(string) else ''
print(returnN_S('hello', 5))
print(returnN_S('hello', 2))
print(returnN_S('Nye', 1))
print(returnN_S('OKOK', 10))
或單行方式:
returnN_H = lambda string, length: string[: length] if length <= len(string) else ''
print(returnN_H('hello', 5))
print(returnN_H('hello', 2))
print(returnN_H('Nye', 1))
print(returnN_H('OKOK', 10))
希望會有所幫助。
Python中的Unicode字符串是不可變的 Unicode代碼點序列 。
Unicode代碼點只是一個從0到sys.maxunicode
的數字,例如Nº128516: 😄
( '\\U0001f604'
) 。
諸如s[:2]
之類的Unicode字符串s
子字符串/片段返回一個包含2
Unicode代碼點的新Unicode字符串。
len(s)
返回字符串s
的Unicode代碼點數。
空字符串可以在Python源代碼中使用''
字符串文字表示。
要從字符串或空字符串(如果文本大小太小)中返回給定數量的用戶可感知字符 ,可以使用\\X
正則表達式(它與擴展的字形簇匹配) :
#!/usr/bin/env python3
import regex # $ pip install regex
def returnN(text, n):
chars = regex.findall(r'\X', text)
return ''.join(chars[:n]) if len(chars) >= n else ''
text = 'a\u0300 biento\u0302t'
print(text) # -> à bientôt
print(returnN(text, 4)) # -> à bi
用戶可以感知的單個字符(例如à
可以跨越多個Unicode代碼點,例如U + 0061 , U + 0300 。
術語字符是不明確的。 它可能表示在不同情況下的字節,Unicode代碼點,字素簇。
input_string = "hello"
def returnN(string, n):
return string[:n]
output = returnN(input_string, 3)
就這樣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.