如何在Python 2.7中查找字符串的中间字符

How to find median character of a string in Python 2.7

单词中的中间字母是单词中间的字母,如果单词长度为偶数,则中间字母是两个中间字母中的左一个。

例如,考虑"苹果"。程序应返回"p"。

作为另一个例子,考虑"baba"。程序应返回"A"。

另外,我想问一下Statistics.Midnium在python中是否能够做到这一点(我不知道它是否适用于字符串,也不知道我对python编程是陌生的)。

请更喜欢用python 2.7回答,因为与python 3相比,我更喜欢用python2.7,不过欢迎任何帮助。

谢谢:D


python字符串是字符列表。例如:

a ="My String"

print a[0] #Prints M

print a[-1] #Prints g

len以整数返回字符串的长度

print len(a) #Prints 9

使用此功能,我们可以:

1
2
3
4
5
def returnMedian(mystring):
    return mystring[(len(mystring)-1)/2]  #len returns the length of the string

print returnMedian("abcde")  #prints c
print returnMedian("baba")   #prints a


1
2
3
4
5
6
7
8
String ="a b a x a d a 5"
Item = String.split("")
if float.is_integer(len(Item) / 2):
    Item_1, Item_2 = Item[int((len(Item) / 2) - 1)], Item[int(((len(Item) / 2)))]
    print(Item_1, Item_2)
else:
    Item = Item[int(((len(Item) / 2) - 0.5))]
    print(Item)

这是我的尝试,它完美无瑕。


你真的应该试着自己解决这个问题。堆栈溢出不是自由代码服务。

然而,它将简单到获取数组的大小,将其减半,然后访问减半的索引。

1
2
3
my_str ="Hello World!"
half_len = int(len(my_str) / 2)
print my_str[half_len]

str的长度减半时,确保返回EDOCX1(整数)。否则,减半后的值可能会返回一个小数位值,这将在尝试按索引访问str时引发异常。

当把一个十进制数打印到int时(通过int()输入),默认情况下,它会四舍五入到最接近的整数。这在大多数人(所有人)中很常见。语言。