与Python一个文件可以使用str.split()不带参数像这样进行读取和分裂上的空白到一个列表:
lines = []
for line in open('filename'):
line = line.strip().split() # splits on whitespace
for token in line:
lines.append(token)
如果文件具有不同的分离器,例如结肠它能如果分隔符是split(':')或split('charseq')中使用split('char')的字符或固定字符序列,则可以像split('===')那样进行拆分,或者可以使用re.split('some_regex','text2split')在正则表达式上拆分。此外,验证数字数据的格式以确保无效数据在后续处理中不会导致错误或其他不良行为可能很有用。
下面是一个完整的例子,用于从文件中提取以逗号分隔的数字并将它们附加到列表中,并且数字被过滤以匹配由正则表达式定义的三种格式中的至少一种:(1)'\ d +' (超过一位十进制数字); (2)'\ d +。\ d *'(多于一个十进制数字,后跟一个句点,后面跟零个或多个十进制数字;或者(3)'\ d *。\ d +'(零个或多个十进制数字后跟一个。周期后面跟着一个或多个十进制数字)在这个例子中,在这些形式的匹配数的正则表达式被编译,以提高性能
import re
numList = []
regex = re.compile('^(\d+)|(\d+\.\d*)|(\d*\.\d+)$')
for data in open('filename'):
tmpList = re.split(',',data.strip()) # could use data.strip().split(',')
for element in tmpList:
if regex.match(element):
numList.append(element)
在numList运行该数字后可以重复这样的:
for item in numList:
print(item)
# do other things such as calculations with item
输入列表究竟如何影响随机数的产生?你只是在寻找'random.shuffle'还是'random.sample'? – Blckknght
你试过正则表达式吗?正则表达式可以真正帮你解决p atterns –
你需要更清楚地描述你的问题。列表如何影响列表中的数字?你想让你的代码识别模式吗? – Madeline