如何在Python中获取字符串的前2个字母?

时间:2014-01-08 06:50:40

标签: python string python-2.7

假设我有一个字符串

Str1 = "TN 81 NZ 0025" 
str2 = "DL 11C AA 1111"
two = first2(str1)
print(two)
>>>TN

如何获取这些字符串的前两个字母。我需要first2函数。

8 个答案:

答案 0 :(得分:20)

就像string[:2]一样简单。如果需要,可以轻松编写函数来执行此操作。

即使这样,也很简单

def first2(s):
    return s[:2]

答案 1 :(得分:4)

通常,您可以使用ij以及string[i:j]的字符串字符。 string[:2]string[0:2]的简写。这也适用于数组。

Learn about python's slice notation at the official tutorial

答案 2 :(得分:1)

这是简单函数的样子:

def firstTwo(string):
    return string[:2]

答案 3 :(得分:1)

在python字符串中是字符列表,但它们不是显式列表类型,只是类似列表(即它可以像列表一样对待)。更正式地说,它们被称为sequence(见http://docs.python.org/2/library/stdtypes.html#sequence-types-str-unicode-list-tuple-bytearray-buffer-xrange):

>>> a = 'foo bar'
>>> isinstance(a, list)
False
>>> isinstance(a, str)
True

由于字符串是序列,因此您可以使用slicing访问列表的部分内容,由list[start_index:end_index]表示,请参阅Explain Python's slice notation。例如:

>>> a = [1,2,3,4]
>>> a[0]
1 # first element, NOT a sequence.
>>> a[0:1]
[1] # a slice from first to second, a list, i.e. a sequence.
>>> a[0:2]
[1, 2]
>>> a[:2]
[1, 2]

>>> x = "foo bar"
>>> x[0:2]
'fo'
>>> x[:2]
'fo'

未定义时,切片表示法将起始位置设为0,将结束位置设为len(序列)。

在过去的C日,它是一个字符数组,动态与静态列表的整个问题现在听起来像传说,请参阅Python List vs. Array - when to use?

答案 4 :(得分:0)

为了完整性:您可以为def函数命名,而不是使用lambda

first2 = lambda s: s[:2]

答案 5 :(得分:0)

如果您的字符串不够长,以前的所有示例都会引发异常。

另一种方法是使用 'yourstring'.ljust(100)[:100].strip()

这将为您提供前100个字符。 如果你的字符串最后一个字符是空格,你可能会得到一个较短的字符串。

答案 6 :(得分:0)

t = "your string"

使用以下字符串播放字符串的前N个字符:

def firstN(s, n=2):
    return s[:n]

默认为 等效于

t[:2]

答案 7 :(得分:-1)

 def stutter(word):

     return word[ :2]+'...'+ word[ :2]+'...'+word+'?'


  word = "incredible"

  stutter(word)

  op:'in...in...incredible?'