1. python 求助如何用一个list中的值替换一个字符串中的某个数值!
描述相当不清楚。
这一行我是保存在一个list中 : “这一行”是什么数据类型?
另一个保存在list中(list有很多行)的数值 : “另一个”是哪个?
你这种描述估计只有你自己能弄明白。
如果你不能描述清楚你想干什么,那就直接说你想得到什么样的结果。
2. python中,如何将list中的各个值快速赋值给变量
Python 的强大特性之一是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list。
例 3.24. List 解析介绍
>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem in li]
[2, 18, 16, 8]
>>> li
[1, 9, 8, 4]
>>> li = [elem*2 for elem in li]
>>> li
[2, 18, 16, 8]
为了便于理解它,让我们从右向左看。li 是一个将要映射的 list。Python 循环遍历 li 中的每个元素。对每个元素均执行如下操作:首先临时将其值赋给变量 elem,然后 Python 应用函数 elem*2 进行计算,最后将计算结果追加到要返回的 list 中。
需要注意是,对 list 的解析并不改变原始的 list。
将一个 list 的解析结果赋值给对其映射的变量是安全的。不用担心存在竞争情况或任何古怪事情的发生。Python 会在内存中创建新的 list,当对 list 的解析完成时,Python 将结果赋给变量。
From <dive into python>
3. Python 如何利用函数修改函数外list
"""
使用global子句。在stisfiesF函数中,声明L为一个全局变量,如此
你在该函数中修改L的值,则会体现到函数之外。这种写法违背Python
优雅的原则,不推荐使用,仅供学习.【L中的元素不能有数字,否则
报错,我也不知什么原因】
"""
deff(s):
return'av'ins
#在声明L为全局变量之前定义,代码更直观
L=['av1','av','a','b','ac','love','python',('f','av','gh'),[1,2,3]]
#此处函数不传入参数L
defsatisfiesF():
#声明L为全局变量
globalL
x=[]
foriinL:
iff(i):
x.append(i)
else:
pass
L=x
returnlen(L)
print('新列表L的长度为%s'%satisfiesF())
print('将原列表修改为元素含有"av"的新列表L:')
print(L)
"""
结果:新列表L的长度为3
将原列表修改为元素含有"av"的新列表L:
['av1','av',('f','av','gh')]
>>>
"""
4. python如何批量修改列表元素
list = ['一班张三', '二班李明', '二班张丽丽', '四班王强', '一班张志华']
list = ['树人小学' + re.sub('^\w\w', '', x) for x in list]
print(list)
5. Python如何改变列表内元素取值(使用循环或list comprehension)
a = lista
b = [x for x in a if x > 0] 列表推导式
6. python替换list元素,列表alist中有很多0数字,要替换成1
alist=[1,3,5,2,0,3,7,0,0,3,7]
foriinrange(len(alist)):
ifalist[i]==0:
alist[i]=1
printalist
7. Python如何替换list中的字符
利用re库进行正则表达替换,python3.4中
importre
a=["123","456","789"]
d={"B":"2","E":"5","H":"8"}
b=",".join(a)
print(b)
foriind.keys():
b=re.sub(d[i],i,b)
print(b.split(","))
8. 如何从python的list中提想要的值
$python
Python2.7.3(default,Mar142014,11:57:14)
[GCC4.7.2]onlinux2
Type"help","right","credits"or"license"formoreinformation.
>>>lst=[
...'11','1','100','10 ',
...'11','2','200','20 ',
...'11','3','300','30 ',
...'11','4','400','40 ']
>>>#第一步:将数据组织成方便使用的结构
>>>data=[
...map(int,lst[i*4:(i+1)*4])
...foriinxrange(len(lst)/4)
...]
>>>data
[[11,1,100,10],[11,2,200,20],[11,3,300,30],[11,4,400,40]]
>>>#第二步就直接简单地计算好了
>>>1.*sum([x[2]forxindata])/len(data)
250.0
>>>1.*sum([x[3]forxindata])/len(data)
25.0
>>>
或者在要处理很多月份,并有按月计算的需求时:按月-数据的字典结构组织数据
并设一个计算平均值的函数就更简单了
>>>lst=[
...'11','1','100','10 ',
...'11','2','200','20 ',
...'11','3','300','30 ',
...'11','4','400','40 ',
...'12','1','120','12 ',
...'12','2','230','23 ',
...'12','3','340','34 ',
...'12','4','450','45 ',
...]
>>>
>>>data={}
>>>forxin[
...map(int,lst[i*4:(i+1)*4])
...foriinxrange(len(lst)/4)
...]:
...data.setdefault(x[0],[]).append(x[1:])
...
>>>defavg(serial):
...return1.*sum(serial)/len(serial)
...
>>>avg([x[1]forxindata[12]])#计算12月的第二个数据的平均值
285.0
>>>
9. python向set中添加list后给list重新赋值,为什么set输出中list的值没有改变
因为地址变了,set的地址和list的不是一个
10. 关于python 中修改list元素的值的区别是什么
在Python中,存在可变元素和不可变元素两种说法;
list属于可变元素;
改变元素的值可以通过索引的方法实现;
举例说明,什么是可变元素,以及修改值的区别:
arr1=[1,2,3,4]
arr1[2]="aa"
printarr1#[1,2,'aa',4]
arr2=arr1
arr2[1]="bb"
printarr2#[1,'bb','aa',4]