创建一个函数来连接基于 len(array) 的字符串
Creating a function to concatenate strings based on len(array)
我正在尝试连接一个字符串以通过 python>telegram 发送消息
我的计划是使功能模块化。
它首先从 .txt 文件中导入行,然后根据这么多行创建两个不同的数组
array1[] 和 array2[],array1 将接收列表的值作为字符串,array2 将接收用户生成的信息以补充存储在相同位置的内容,以便识别 array1[pos] 中的差异,如换一种方式:
while (k<len(list)):
array2[k]= str(input(array1[k]+": "))
k+=1
我想创建一个字符串来发送一条消息,就像我的所有列表都在同一个字符串中一样
string1 = array1[pos]+": "+array2[pos]+"\n"
我曾尝试使用 while 来比较 len,但我一直在一次又一次地回忆和重写我自己的字符串。
list_of_strings_from_txt = ["A","B","C"]
modified_list = [f"{w}: {input(f'{w}:')}" for w in list_of_strings_from_txt]
我猜?也许吧?
看起来您正在寻找的是有一个直接来自您的文本文件的列表。有很多方法可以做到这一点,但您很可能不想使用索引位置迭代创建列表。我会说只是将项目附加到您的列表中。
关于这个post接受的答案有很好的参考,基本上是这样的:
import csv
with open('filename.csv', 'r') as fd:
reader = csv.reader(fd)
for row in reader:
# do something
在你的情况下,这意味着这样的事情:
import csv
actual_text_list = []
with open('filename.csv', 'r') as fd:
reader = csv.reader(fd)
for row in reader:
actual_text_list.append(row)
user_input_list = []
for actual_text in actual_text_list:
the_users_input = input(f'What is your response to {actual_text}? ')
user_input_list.append(the_users_input)
这将创建两个列表,一个包含实际文本,另一个包含另一个的输入。我认为这就是你想要做的。
另一种方式,如果您的文本文件中的列表没有重复项,您可以考虑使用 dict
,它只是一个字典,一个 key-value 数据存储。您将从文件中将 key
设为 actual_text
,并将 value
设为 user_input
。另一种技术,你可以制作 lists
.
的 list
import csv
actual_text_list = []
with open('filename.csv', 'r') as fd:
reader = csv.reader(fd)
for row in reader:
actual_text_list.append(row)
dictionary = dict()
for actual_text in actual_text_list:
the_users_input = input(f'What is your response to {actual_text}? ')
dictionary[actual_text] = the_users_input
然后您可以像这样使用该数据:
for actual_text, user_input in dictionary.items():
print(f'In response to {actual_text}, you specified {user_input}.')
我正在尝试连接一个字符串以通过 python>telegram 发送消息 我的计划是使功能模块化。 它首先从 .txt 文件中导入行,然后根据这么多行创建两个不同的数组 array1[] 和 array2[],array1 将接收列表的值作为字符串,array2 将接收用户生成的信息以补充存储在相同位置的内容,以便识别 array1[pos] 中的差异,如换一种方式:
while (k<len(list)):
array2[k]= str(input(array1[k]+": "))
k+=1
我想创建一个字符串来发送一条消息,就像我的所有列表都在同一个字符串中一样
string1 = array1[pos]+": "+array2[pos]+"\n"
我曾尝试使用 while 来比较 len,但我一直在一次又一次地回忆和重写我自己的字符串。
list_of_strings_from_txt = ["A","B","C"]
modified_list = [f"{w}: {input(f'{w}:')}" for w in list_of_strings_from_txt]
我猜?也许吧?
看起来您正在寻找的是有一个直接来自您的文本文件的列表。有很多方法可以做到这一点,但您很可能不想使用索引位置迭代创建列表。我会说只是将项目附加到您的列表中。
关于这个post接受的答案有很好的参考,基本上是这样的:
import csv
with open('filename.csv', 'r') as fd:
reader = csv.reader(fd)
for row in reader:
# do something
在你的情况下,这意味着这样的事情:
import csv
actual_text_list = []
with open('filename.csv', 'r') as fd:
reader = csv.reader(fd)
for row in reader:
actual_text_list.append(row)
user_input_list = []
for actual_text in actual_text_list:
the_users_input = input(f'What is your response to {actual_text}? ')
user_input_list.append(the_users_input)
这将创建两个列表,一个包含实际文本,另一个包含另一个的输入。我认为这就是你想要做的。
另一种方式,如果您的文本文件中的列表没有重复项,您可以考虑使用 dict
,它只是一个字典,一个 key-value 数据存储。您将从文件中将 key
设为 actual_text
,并将 value
设为 user_input
。另一种技术,你可以制作 lists
.
list
import csv
actual_text_list = []
with open('filename.csv', 'r') as fd:
reader = csv.reader(fd)
for row in reader:
actual_text_list.append(row)
dictionary = dict()
for actual_text in actual_text_list:
the_users_input = input(f'What is your response to {actual_text}? ')
dictionary[actual_text] = the_users_input
然后您可以像这样使用该数据:
for actual_text, user_input in dictionary.items():
print(f'In response to {actual_text}, you specified {user_input}.')