문자열 클래스에는 문자열의 하위 문자열을 바꾸는 데 사용할 수 있는 replace 메서드가 있습니다. 이 방법을 사용하여 제거하려는 문자를 빈 문자열로 바꿀 수 있습니다. 예: >>> "Hello people".replace("e", "") "Hllo popl" 한 줄의 문자열에서 여러 문자를 제거하려면 정규식을 사용하는 것이 좋습니다. |로 여러 문자를 구분할 수 있습니다. re.sub(chars_to_replace, string_to_rep
가장 쉬운 방법은 str.split 메서드를 사용하여 ,가 발생할 때마다 분할하고 모든 문자열을 strip 메서드에 매핑하여 선행/후행 공백을 제거하는 것입니다. 예를 들어, >>> s = "1, John Doe, Boston, USA" >>> print map(str.strip, s.split(',')) ['1', 'John Doe', 'Boston', 'USA'] 여러 줄의 csv가 있는 여러 줄 문자열이
최대 n+1 분할로 하위 문자열을 분할하여 문자열에서 하위 문자열의 n번째 발생을 찾을 수 있습니다. 결과 목록의 크기가 n+1보다 크면 하위 문자열이 n번 이상 발생한다는 의미입니다. 인덱스는 원래 문자열의 길이 - 마지막으로 분할된 부분의 길이 - 하위 문자열의 길이인 간단한 공식으로 찾을 수 있습니다. 예시 def findnth(string, substring, n): parts = string.split(substring, n + 1) if len(parts) <= n
eval 함수를 사용하여 문자열의 수학 표현식을 평가할 수 있습니다. 예 예를 들어 내용이 (4*5) + 21인 문자열이 있는 경우 이를 평가하고 결과를 얻을 수 있습니다. >>> s = "(4*5) + 22" >>> eval(s) 42 Eval은 괄호가 제공되지 않는 경우 등의 수학 표현식을 평가하기 위해 Python 규칙을 따릅니다. eval을 사용할 때는 엄청난 보안 허점과 버그의 원인이 될 수 있으므로 매우 주의해야 합니다.
%s 지정자는 str()을 사용하여 개체를 변환하고 %r은 repr()을 사용하여 개체를 변환합니다. 정수와 같은 일부 객체의 경우 동일한 결과를 산출하지만 repr()은 일반적으로 유효한 Python 구문인 결과를 반환한다는 점에서 특별합니다. 를 나타냅니다. 예를 들어 끝줄 문자가 있는 문자열이 있는 경우 %s는 실제로 새 줄에 내용을 표시하는 반면 %r은 출력을 \n으로 표시하고 따옴표도 그대로 유지합니다. 예를 들어 >>> string = "Hello\nworld" >>>
문자열 클래스에서 str.join(list_of_strings)을 사용할 수 있습니다. 호출한 문자열은 인수로 제공한 문자열 목록을 결합하는 데 사용됩니다. 예를 들어 >>> ' '.join(['Hello', 'World']) 'Hello World' >>> ''.join(['Hello', 'World', 'People']) 'HelloWorldPeople' >>
우리는 우리가 가진 문자열이 이 문자열의 부분 문자열만 반복해서 구성되어 있는지 확인하고 싶습니다. 문자열의 회전이 2개의 문자열 조합에 존재하는지 확인할 수 있는지 확인합니다. 이는 문자열이 자체 회전과 동일한 경우에만 주기적이기 때문입니다. 예시 다음 코드는 이를 확인하고 그에 따라 반환합니다. def find_period(s): # Concatenate 2 s and find s within # index one to end of the string
json.loads()를 사용하여 JSON 문자열을 사전으로 변환합니다. 이 메서드는 유효한 json 문자열을 허용하고 모든 요소에 액세스할 수 있는 사전을 반환합니다. 예를 들어, >>> import json >>> s = '{"success": "true", "status": 200, "message": "Hello"}' >>> d = json.loads(s) >>&g
문자열 끝에서 부분 문자열을 제거하려면 먼저 문자열이 해당 부분 문자열로 끝나는지 확인해야 합니다. 그렇다면 하위 문자열이 없는 부분만 유지하면서 문자열을 슬라이스합니다. 예를 들어, def rchop(string, ending): if string.endswith(ending): return string[:-len(ending)] return string chopped_str = rchop('Hello world', 'orld') print choppe
문자열 클래스에서 splitlines() 메서드를 사용하여 이를 달성할 수 있습니다. 예시 >>> """some multi line string""".splitlines() ['some', 'multi line', 'string'] 다음과 같이 split() 메서드에서 구분 기호 \n을 지정할 수도 있습니다. - >>> """some multi line string"
다음과 같은 문자열이 있는 경우: "Name1=Value1;Name2=Value2;Name3=Value3" 그리고 그것을 사전으로 변환하고 싶을 때, 그것은 상당히 쉽습니다. ;로 간단히 나눌 수 있습니다. 그런 다음 =에 이것을 dict 생성자에 전달하십시오. 예를 들어 >>> s = "Name1=Value1;Name2=Value2;Name3=Value3" >>> dict(item.split("=") for item in s.split(&qu
문자열에서 파이썬 사전에 대한 가장 좋은 표현은 JSON입니다. json.dumps(dict)를 사용하여 사전을 문자열로 변환할 수 있습니다. 그리고 json.loads(string)를 사용하여 문자열에서 사전을 다시 가져올 수 있습니다. 예시 예를 들어 주어진 사전을 다음과 같이 직렬화합니다. >>> import json >>> d = {'id': 15, 'name': 'John'} >>> x = json.dumps(d) >>&
단어 목록에서 문자열을 변환하려면 공백으로 분할하기만 하면 됩니다. string 클래스에서 split()을 사용할 수 있습니다. 이 메서드의 기본 구분 기호는 공백입니다. 즉, 문자열에서 호출될 때 해당 문자열을 공백 문자로 분할합니다. 예를 들어 >>> "Please split this string".split() ['Please', 'split', 'this', 'string'] Regex를 사용하여 이 문제를 해결할 수도 있습니다. 정
문자열의 첫 단어의 첫 글자만 대문자로 바꾸고 싶다면 string 클래스의 대문자 사용 방법을 사용하면 됩니다. 예를 들어 >>> s = "my name" >>> s.capitalize() 'My name' 문자열 슬라이싱을 통해 수동으로 이 작업을 수행할 수도 있습니다. 예를 들어 >>> s = "my name" >>> s = s[:1].upper() + s[1:] 'My name' 문자열의 각 단어
문자열은 일련의 문자입니다. 이것들은 추상적인 개념이며 디스크에 직접 저장할 수 없습니다. 바이트 문자열은 디스크에 저장할 수 있는 바이트 시퀀스입니다. 그들 사이의 매핑은 인코딩입니다 - 이것들이 상당히 많이 있고(무한하게 많이 가능합니다) - 다른 인코딩이 동일한 바이트를 매핑할 수 있기 때문에 변환을 수행하기 위해 특정 경우에 어떤 것이 적용되는지 알아야 합니다. 다른 문자열로. 예를 들어, 동일한 바이트 문자열이 2개의 다른 인코딩으로 2개의 다른 문자열을 나타낼 수 있습니다. 예를 들어 >>> b'\
문자열의 문자를 알파벳순으로 정렬하려면 정렬된 문자 목록을 반환하는 sorted 함수를 사용해야 합니다. 이 함수는 결합하여 문자열을 얻을 수 있습니다. 예를 들어, >>> s = "helloworld" >>> ''.join(sorted(s)) 'dehllloorw' 고유한 문자만 정렬하려면 집합을 사용하여 결과를 얻을 수 있습니다. 예를 들어, >>> s = "helloworld" >>> '
사전을 사용하여 문자열을 보간할 수 있습니다. %와 변환 문자 사이의 괄호 안에 키를 제공해야 하는 구문이 있습니다. 예를 들어 cost 키에 부동 소수점이 저장되어 있고 이를 $xxxx.xx 형식으로 지정하려는 경우 표시하려는 위치에 $%(cost).2f를 배치합니다. . 다음은 사전에서 문자열 형식을 사용하여 문자열을 보간하고 숫자 형식을 지정하는 예입니다. >>>print('%(language)s has %(number)03d quote types.' % {'language': &
문자열이 n자까지 반복되도록 하려면 먼저 전체 문자열을 n/len(s)번 반복하고 끝에 n%len(s) 문자를 추가할 수 있습니다. 예를 들어, def repeat_n(string, n): l = len(s) full_rep = n/l # Construct string with full repetitions ans = ''.join(string for i in xrange(full_rep)) &n
문자열 변수에 문자열을 추가하는 가장 좋은 방법은 + 또는 +=를 사용하는 것입니다. 읽기 쉽고 빠르기 때문입니다. 그들은 또한 빠릅니다. 이 외에도 2개의 문자열로 작업하는 경우에는 append()를 사용할 수도 있습니다. 문자열 목록을 연결하는 경우 선호되는 방법은 문자열 목록을 수락하고 연결하고 이 경우 가장 읽기 쉬운 join()을 사용하는 것입니다. 성능을 찾고 있다면 매우 긴 문자열을 사용하는 경우 추가/조인이 약간 더 빠릅니다.
64비트 Python 설치 및 64GB 메모리를 사용하면 약 63GB의 Python 2 문자열이 상당히 실현 가능해야 합니다. 그 이상으로 메모리를 업그레이드할 수 있다면 가능한 최대 문자열이 비례적으로 길어져야 합니다. 그러나 이것은 런타임에 타격을 줍니다. 물론 일반적인 32비트 Python 설치에서는 애플리케이션에서 사용할 수 있는 총 메모리가 2GB 또는 3GB로 제한되므로(OS 및 구성에 따라 다름) 사용할 수 있는 가장 긴 문자열은 다음보다 훨씬 작습니다. RAM이 매우 많은 64비트 설치에서.