函数
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}")