使用python删除字符串中指定索引位置的字符

时间:2018-07-19 08:51:34

标签: python

我正在尝试从具有选定索引位置的字符串中删除字符。为什么我的代码不起作用?

st = "hello"
n = int(input())
def drop_n(st, n):
    if n <= len(st) or n == len(st):
        return (st.pop(n))
    else:
        return "String to small or number too big"

2 个答案:

答案 0 :(得分:0)

pop不会对字符串进行操作,但是即使执行了操作也会返回它删除的项目。有几种方法可以执行此操作,一种方法是使用pop创建列表,然后转换回字符串:

st = "hello"
n = int(input())

def drop_n(st, n):
    if n < len(st):      # note the change to this.  
        it = list(st)
        char = it.pop(n)
        return ''.join(it)
    else:
        return "String too small or number too big"

print(drop_n(st, n))

请注意,负索引有效。由于索引从零开始计数,因此n == len(st)会超出列表的范围。

答案 1 :(得分:0)

为什么不索引字符串呢?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <fragment
        android:id="@+id/navigationHost"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:name="androidx.navigation.fragment.NavHostFragment"
        app:defaultNavHost="true"
        app:navGraph="@navigation/cycle_count_navigation" />

</RelativeLayout>