给定的字符串查找指定字母

文章介绍了如何使用Python编写函数find_positions在给定字符串中查找指定字母的位置,以及如何利用pandas将这些位置转化为DataFrame,并进一步分析指定字母及其上下游两个字母的上下文。最后,结果以CSV文件的形式保存。
摘要由CSDN通过智能技术生成

函数

def find_positions(s, letter):
return [i for i, l in enumerate(s) if l == letter]

给定的字符串

s = “UUGAGCAUUUCAUCCGGAGUCUGGCCGCCCUGACCUUCCCCCAGCCGCCUGCAGGGGGCGCCAGAGGGCCGGAGCACGGAAAGCAGCGGAUCCUU”

你想查找的字母

letter = “A” # 你可以将这个值改为任何你想要查找的字母

获取字母在字符串中的位置

positions = find_positions(s, letter)

输出结果

print(positions)

pandas

import pandas as pd

给定的字符串

s = “UUGAGCAUUUCAUCC”

你想查找的字母

letter = “C” # 你可以将这个值改为任何你想要查找的字母

获取字母在字符串中的位置

positions = [i for i, l in enumerate(s) if l == letter]

创建一个包含位置和对应字母的列表

data = {‘Position’: positions, ‘Letter’: [letter] * len(positions)}

将数据转换为DataFrame

df = pd.DataFrame(data)

输出表格

print(df)

给定的字符串

s = “UUGAGCAUUUCAUCCUGCCUCAGCCUCCCAAGUAGCUAGGAUUACAGGCGCCCGCCACCACGCCUGGCUAACUUUUGUAUUUUUAGUAGAGAUGGGGUUUCACCAUCGCCCCCAGCCCCUCCCAUCCCACUUCUGUCCAGCCCCCUAGCCCUACUUUCUUUCUGGGAUCCAGGAGUCCAGAUCCCCAGCCCCCUCUCCAGAUUACAUUCAUCCAGGCACAGGAAAGGACAGGGUCAGGAAAGGAGGACUCUGGGCGGCAGCCUCCACAUUCCCCUUCCACGCUUGGCCCCCAGAAUGGAGGAGGGUGUCUGGAUUACUGGGCGAGGUGUCCUCCCUUCCUGGGGACUGUGGGGGGUGGUCAAAAGACC”

你想查找的字母

letter = “A” # 你可以将这个值改为任何你想要查找的字母

获取字母在字符串中的位置,并转换为从1开始的坐标

positions = [i + 1 for i, l in enumerate(s) if l == letter]

创建一个包含位置和对应字母的列表

data = {‘Position’: positions, ‘Letter’: [letter] * len(positions)}

将数据转换为DataFrame

df = pd.DataFrame(data)

输出表格

print(df)

导出为CSV文件

output_file = ‘letter_positions.csv’ # CSV文件的名称
df.to_csv(output_file, index=False)
print(f"CSV文件已保存为: {output_file}")

给定的字符串

s = “UUGAGCAUUUCAUCCGGAGUCUGGCCGCCCUGACCUUCCCCCAGCCGCCUGCAGGGGGCGCCAGAGGGCCGGAGCACGGAAAGCAGCGGAUCCUUAUGUUGGCCAGGCUGGUCUCAAACUCCUGACCUUAAGUGAUUCGCCCACUGUGGCCUCCCAAAGUGCUGGGAUUACAGGCGUGAGCUACCGCCCCCAGCCCCUCCCAUCCCACUUCUGUCCAGCCCCCUAGCCCUACUUUCUUUCUGGGAUCCAGGAGUCCAGAUCCCCAGCCCCCUCUCCAGAUUACAUUCAUCCAGGCACAGGAAAGGACAGGGUCAGGAAAGGAGGACUCUGGGCGGCAGCCUCCACAUUCCCCUUCCACGCUUGGCCCCCAGAAUGGAGGAGGGUGUCUGGAUUACUGGGCGAGGUGUCCUCCCUUCCUGGGGACUGUGGGGGGUGGUCAAAAGACC”

你想查找的字母

target_letter = “A” # 你可以将这个值改为任何你想要查找的字母

获取指定字母及其上下游两个字母的位置和坐标范围

results = []
for i, letter in enumerate(s):
if letter == target_letter:
# 计算坐标范围,确保不会超出字符串边界
start = max(0, i - 2)
end = min(i + 3, len(s))
context = s[start:end]
range_start = start + 1 # 将坐标转换为从1开始
range_end = end
results.append((context, range_start, range_end))

创建一个DataFrame来存储结果

import pandas as pd
df = pd.DataFrame(results, columns=[‘Context’, ‘Start’, ‘End’])

输出表格

print(df)

导出为CSV文件

output_file = ‘letter_positions.csv’ # CSV文件的名称
df.to_csv(output_file, index=False)

print(f"CSV文件已保存为: {output_file}")

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值