python - python中整数和字符之间的数组
问题描述
pat = "TATAG"
DSIGMA = 4 //i used 4 character 'ACGT'
m = len(pat)
string = "ACGT"
shift = [[0] * DSIGMA]*m
for l in range(m):
U[l] = 1
for s in range(DSIGMA):
shift[l][string[s]] = 1'''
Output
TypeError:列表索引必须是整数或切片,而不是 str
I build this code in c++ and run perfectly, but when i convert into python it doesn't work. How to fix my code? Thanks!
解决方案
您现在正在编写 python :) 所以不要像//或/**/那样评论 并使用# 或 ''' '''进行评论。
小心空格/制表符:)
你在哪里定义了 U参数?你应该在某个地方定义它;你可以在这里找到并阅读类似的错误。
为什么你将string[s]作为索引传递?如果您需要通过字符串/键访问,您可以使用DICT 之类的东西。您可以在此处阅读相关内容。
删除```并在最后一行输出。
我不知道结果应该是什么,但是以这种方式更改代码不会出错:
pat = "TATAG"
DSIGMA = 4 # i used 4 character 'ACGT' ****
m = len(pat)
string = "ACGT"
shift = [[0] * DSIGMA]*m
U=[0,0,0,0,0] # DEFINE SOMETHING ****
for l in range(m):
U[l] = 1
for s in range(DSIGMA):
# Change this to something else ****
# string[s] is not ok as an index ****
# shift[l][string[s]] = 1
shift[l]=1
推荐阅读
- javascript - 如何在单击按钮时在反应挂钩中清除Interval
- python - 试图用python制作一个聊天机器人(有点)
- d3.js - Oracle APEX 5.0:在 D3 折线图上设置第二个 Y 轴
- c++ - 字符串数组上的 Sizeof 运算符在 C++ 中给出不同的输出
- xamarin.forms - 如何防止 Scrollview 扩展超出其最大可用扩展空间
- python - 请求(由 SSLError 引起(“无法连接到 HTTPS URL,因为 SSL 模块不可用。”)在 Linux 上
- node.js - Express - 使用 .find 和 req.query 返回 null
- r - R:mapply 输出矩阵而不是函数输出
- mysql - MySQL 在表名中使用通配符
- android - 将 32 位 android 应用程序转换为 64 位应用程序