Python extend方法将字符串拆分为字符
我一次一行从.csv文件中读取两列值,这将生成由两个字符串组成的行条目列表(类似于['cat1','dog1']) 当我迭代提取的所有行时,我尝试将所有“猫”放在一个列表中,将“狗”放在另一个列表中,有点像这样:Python extend方法将字符串拆分为字符,python,Python,我一次一行从.csv文件中读取两列值,这将生成由两个字符串组成的行条目列表(类似于['cat1','dog1']) 当我迭代提取的所有行时,我尝试将所有“猫”放在一个列表中,将“狗”放在另一个列表中,有点像这样: for row in csv_file_entries: catlist.extend(row[0]) doglist.extend(row[1]) 我希望狗名单是: [狗1,狗2,狗3,狗4,…,狗] 但是我得到了 [d]、[o]、[g]、[1]、[c]、[a]、[
for row in csv_file_entries:
catlist.extend(row[0])
doglist.extend(row[1])
我希望狗名单是:
[狗1,狗2,狗3,狗4,…,狗]
但是我得到了
[d]、[o]、[g]、[1]、[c]、[a]、[t]、[1]、[1]等
我怀疑当我发现为什么字符是列表元素而不是字符串时,我也会发现为什么猫和狗在同一个列表中,即使行元素0是狗,行元素1是猫
我的实际代码和愚蠢的调试语句如下:
# get csv file containing digitized EOT data
# first column is day of year, second is EOT minutes
# taken from US Naval Obs site and digitized with web digitizer program
fname = 'C:\\time_calculator\\EOT.csv'
dtzd_DOY = dtzd_EOT = []
print("tarrtart", dtzd_DOY)
with open(fname, 'rt') as csvfile:
eot_entries = csv.reader(csvfile, delimiter=',')
# print(eot_entries)
print("pooooty", dtzd_DOY, dtzd_EOT)
for row in eot_entries:
print(row, row[0], row[1])
thisDOY = row[0]
thisEOT = row[1]
print(thisDOY)
print(thisEOT)
# thisEOT = "heychittyfgfgfttrgrtfgrt"
dtzd_DOY.extend(thisDOY)
dtzd_EOT.extend(thisEOT)
print(dtzd_DOY, dtzd_EOT)
这是我的第一个问题,所以请不要为修改我的表单感到难过。
list.extend
使用您传递的iterable中的每个项目扩展列表。字符串是一个由字符组成的iterable,因此它附加字符
更易于使用
列表。在此处追加。.extend()
按顺序添加每个项目。字符串是一个字符序列。如果要将其作为一个项目添加,请使用.append()
.Yes-我想我已经选中了.append和.extend,但显然没有。另外,我发现我对两个列表A=B=[]的初始化是导致条目混合的原因。一切都是固定的。谢谢大家。