pythonlistforif
⑴ python 在for循环里面成功改变list,退出for循环后list却没变
python里面字符串是不可修改的,所以传值的时候并不是把Image[i]这个对象传给了i,而是传过去的复制值,所以你修改的只是i这个变量不是对应的Image[i]
要么改得复杂点改成这样:
print ''
print Images
print ''
for i in range(len(Images)):
print Images[i]
Images[i] = 'http://www.somesite.com' + Images[i]
print Images[i]
print ''
for i in Images:
print i
if 'http' in i:
print 'True'
else:
print 'False'
⑵ Python怎么写一个循环判断的list
你对list的理解有点问题。
list在python里是数组的意思,是一种数据结构。
l = [1,2,3 ... 100] # 或者写成 range(100)
foriinl:
ifi>10:
printi
⑶ python实现给定一个列表判断里面是否有重复
有两个方法:
使用列表的count方法,因为count方法可以做对象内的元素进行出现次数叠加计算
list1=[1,2,3,4,4,5,6,7]list1.count(1)#结果为1list1.count(4)#结果为2foriinlist1:iflist1.count(i)>=2:print('该元素%s重复'%i)#结果:该元素4重复该元素4重复#因为迭代了两次4所以有两次输出,功能是实现了,但是却打印了两次,有点不理想- list1=[1,2,3,4,4,5,6,7]list2=list1.()#为了不破坏原数据,临时浅复制给变量list2list3=list(set(list2))#使用set()函数将list2转为集合去掉重复元素又用list()转回列表foriinlist3:#对无重复元素的列表list3迭代ifiinlist2:list1.remove(i)#当list3内的元素存在于list2中,则把其元素从list2中删除,最后就会留下重复元素print('list1:%s中的重复元素有:%s'%(list1,list2))#组后输出原数据list1和最终结果list2#结果:list1:[1,2,3,4,4,5,6,7]中的重复元素有:[4]#效果实现了,也没问题,就是变量使用有点多。看你选择了
2.借用工厂函数set()把对象转为集合和列表的方法(浅复制),集合会默认把重复元素去掉
⑷ python if 语句和列表结合求解
defselect_data(list):
defcheck_pass(fname,surname):
'''这里做成一个函数,直观一点'''
forrecinlist:
ifstr(rec[1])==fnameandstr(rec[0])==surname:
returnTrue
returnFalse
#check_pass结束
#加一个flag作为标记,通过检查(is_pass为True)就结束了
is_pass=False
whilenotpass:
first_name=str(input('Inputfirstname'))
surname=str(input('Inputsurname'))
is_pass=check_pass(first_name,surname)
⑸ python中的for循环取list中的第i 个值值
如果一定要用循环写,是这么写的
lis=['a','b','c']
for i in lis:
if i=='b':
print(i)
⑹ python中关于for循环取list的数值。
for i in test:
if i=='ABC':
print 'The result is right'
⑺ python语法问题:关于在list中使用for循环
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>
⑻ 有关python中for循环和列表的两个问题!!
第一个问题你用的for-in,这样你的list没有一个序号,也就不能判断第一个元素了,像这样遍历的为什么不用for i in range(len(list))呢。。如果你真的像这样,可以在循环外设置一个计数器,然后在循环里不断加一。。
第二个问题条件写 if type(i)==list:就可以了。。
⑼ python中为什么我的for循环里嵌套的if只能循环一次
你要遍历的话,不能把name = input("请输入你想修改的学生姓名:")放在循环里
应该是先输入,对输入的字符进行循环遍历,而不是循环输入”学生姓名“
运行结果
⑽ python实现给定一个列表判断里面是否有重复元素
有两个方法:
使用列表的count方法,因为count方法可以做对象内的元素进行出现次数叠加计算
list1=[1,2,3,4,4,5,6,7]
list1.count(1)#结果为1
list1.count(4)#结果为2
foriinlist1:
iflist1.count(i)>=2:
print('该元素%s重复'%i)
#结果:
该元素4重复
该元素4重复#因为迭代了两次4所以有两次输出,功能是实现了,但是却打印了两次,有点不理想
2.借用工厂函数set()把对象转为集合和列表的方法(浅复制),集合会默认把重复元素去掉
list1=[1,2,3,4,4,5,6,7]
list2=list1.()#为了不破坏原数据,临时浅复制给变量list2
list3=list(set(list2))#使用set()函数将list2转为集合去掉重复元素又用list()转回列表
foriinlist3:#对无重复元素的列表list3迭代
ifiinlist2:
list1.remove(i)#当list3内的元素存在于list2中,则把其元素从list2中删除,最后就会留下重复元素
print('list1:%s中的重复元素有:%s'%(list1,list2))#组后输出原数据list1和最终结果list2
#结果:
list1:[1,2,3,4,4,5,6,7]中的重复元素有:[4]
#效果实现了,也没问题,就是变量使用有点多。看你选择了