我正在尝试从具有选定索引位置的字符串中删除字符。为什么我的代码不起作用?
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"
答案 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>