python读取list
A. 用python读取文件中的数字并加入list的问题
array=[]
forlineinopen('testdata.txt'):
array.extend(line.strip().split(''))
array=map(int,array)
print(array)
B. 如何获取Python中list的子集
使用 itertools
importitertools
#有序
printlist(itertools.permutations([1,2,3,4],2))
[(1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,1),(4,2),(4,3)]
#无序
printlist(itertools.combinations([1,2,3,4],2))
[(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)]
C. Python 不知道list里面有多少个元素 怎么提取出来
# 获取到症状
item['symptons'] = li.xpath('div/p/a/text()').extract()
#从列表中取出元素,
str=''
for s in item['symptons']:
str=str+s+' '
item['symptons']=str
print('#############')
print(item['symptons'])
(3)python读取list扩展阅读
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。
Python有6个序列的内置类型,但最常见的是列表和元组。
序列都可以进行的操作包括索引,切片,加,乘,检查成员。
此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]list3 = ["a", "b", "c", "d"]
D. python中输入一个list
#-*-coding:UTF-8-*-
infos=raw_input("请输入经纬度列表")
list_info=eval(infos)
foriinlist_info:
printi
E. python 读取文档 并创建任意多的list
filename=r'a.txt'
dlist={}
forlineinopen(filename,'r'):
cols=line.split()
forcolinrange(len(cols)):
dlist.setdefault(col,[]).append(cols[col])
forcolinrange(len(dlist)):
print(dlist[col])
F. python提取list中的元素
1、提取某个或某几个元素
ki = [1, 3, 4, 5, 6, 8]
print(ki[2])
print(ki[2:4])
结果:
4
[4, 5]
2、提取所有元素
ki = [1, 3, 4, 5, 6, 8]
for i in range(0, len(ki)):
print(ki[i])
结果:
1
3
4
5
6
8
3、随机提取元素
import random
ki = [1, 3, 4, 5, 6, 8]
mk = random.sample(ki, 4)
print(mk)
结果:
[3, 4, 8, 1]
G. python 嵌套list读取
b1=[[2]*3]*2
b2=[[2,2,2],[2,2,2]]
这个两个定义的变量其实时不一样的
b2一个list,包含两个list元素
b1是1个list元素的两个浅拷贝,可以理解成两个指向[2]*3的指针。
出现这种问题,实际上理解的误区,[2]*3
=
[2,2,2]
就想当然的把[[2]*3]*2=
[2,2,2]*2
=
[[2,2,2]
[2,2,2]]
其实[[]]是一个list的浅拷贝(或者理解成指向list指针)
更详细的可以看下python的文档,里面有说明。
H. python逐行读取txt文件 每行为一个list
#!/usr/bin/envPython
#coding=utf-8
importre
#你的文件路径
path="./tags.txt"
#读取文件
file=open(path,encoding="utf-8")
#定义一个用于切割字符串的正闷旅盯则
seq=re.compile("s+")
result=[]
#逐行读取
forlineinfile:
lst=seq.split(line.strip())
item={
"name":lst[0],
"val":lst[1:]
}
result.append(item)
#关闭文件
file.close()
print(result)
#输出结果类似:
[
{
"name":1,
镇启"val":["v1","v2"蚂和]
},
{
"name":2,
"val":["v1","v2"]
}
]
I. Python list循环读取问题
我猜测,你希望I3数组保存的数据: [
['aaa', 12],
['bbb', 56],
['ccc', 23],
['ddddd', 67],
]
withopen("scores.txt")ashandle:
I3=[]
forlninhandle:
try:
name,score=ln.strip().split(',')
I3.append([name,int(score)])
except:
pass
J. python 从txt中读取数据到 list 中
list1,list2,list3.... 有多少行事先知道?
a=open('myfile.txt')
lines=a.readlines()
lists=[]#直接用一个数组存起来就好了
forlineinlines:
lists.append(line.split())
print(lists)