1. python用for遍历列表时不能修改列表值吗
首先,可以肯定的是,for 循环遍历时可以修改列表值。
那么问题出在哪?在for 循环中的赋值语句magician='the Great' + magician,这个语句并没有改变列表元素,在for magician in magicians中,magician 只是一个得到了列表元素的值的临时变量,修改这个临时变量并不会影响的列表里的值。
原代码相当于:magician =magicians[i], magician ='theGreat'+magician, 很明显,这里没有影响到列表元素,而是只改变了临时变量。
可以使用以下代码:
for i in range(len(magicians)):
magicians[i] = 'the Great' + magicians[i]
2. 如何在python中倒序遍历数组
num=[1,2,3,4]
foriinrange(0,num.__len__())[::-1]:
printnum[i]
输出:
4
3
2
1
3. python如何遍历2个list
找两个list元素少的,index遍历完所有的,遍历完后,把此时的index记住。然后直接循环那个较长list的剩余部分。代码可以参考下面的
list1=[1,2,3,4,5,6,7]
list2=['a','b','c','d']
min_length=len(list1)iflen(list1)<len(list2)elselen(list2)
max_length=len(list1)iflen(list1)>len(list2)elselen(list2)
max_list=list1iflen(list1)>len(list2)elselist2
foriinrange(min_length):
printlist1[i]
printlist2[i]
forjinrange(i+1,max_length):
printmax_list[j]
4. python中遍历list 是什么 意思
说通缩一点,就是循环从第一个元素到最后的元素依次访问一次。
5. python 怎么多线程遍历list
可以对第二个list的元素进行遍历,检查是否出现在第二个list当中,如果使用表理解,可以使用一行代码完成任务。 list1 = [1,2,3,4,5] list2 = [4,5,6,7,8] print [l for l in list1 if l in list2] # [4,5] 如果每一个列表中均没有重复的元素,...
6. python中的list的sort方法怎样逆序输出
很简单啊, sort 支持 reverse 参数,看下面的例子,分别按照正常顺序 (升序)排列,以及按照逆序排列。
>>>l=[7,3,9,1,12,-8]
>>>l.sort()
>>>l
[-8,1,3,7,9,12]
>>>l=[7,3,9,1,12,-8]
>>>l.sort(reverse=True)
>>>l
[12,9,7,3,1,-8]
7. python list遍历问题,跪求大神指导
list=[('1abc','11112sfgsd'),('g5sd','11112rtrt'),
('y234','eare4543'),('wetw','eareewtwe'),('ryhe','eare'),
('8989','5633tewtt'),('a34f','ertyey')]
list2=[]
#找键值插入
foreinlist:
head=e[1].split('')[0]#提取键值
found=False
idx=0
forrinlist2:#看键值是否存在
ifr[0]==head:
found=True;
break
idx=idx+1
iffound:
list2[idx][1].append(e)#存在直接追加
else:
list2.append([head,[e]])#不存在创建新list
#Tuple化
list3=[]
foreinlist2:
list3.append((e[0],tuple(e[1])))
list3=tuple(list3)
print(list3)
运行结果:
8. 如何在python中倒序遍历数组– 智联问道
name=;;whilenotname:name=raw_input(u;请输入姓名:;)printnamepython中的not具体表示是什么:在python中not是逻辑判断词,用于布尔型True和False,notTrue为False,notFalse为True,以下是几个常用的not的用法:(1)not与逻辑判断句if连用,代表not后面的表达式为False的时候,执行冒号后面的语句。比如:a=Falseifnota:(这里因为a是False,所以nota就是True)print;hello;这里就能够输出结果hello(2)判断元素是否在列表或者字典中,ifanotinb,a是元素,b是列表或字典,这句话的意思是如果a不在列表b中,那么就执行冒号后面的语句,比如:a=5b=[1,2,3]ifanotinb:print;hello;这里也能够输出结果hello
9. Python中,如何给列表排序
Python中给列表排序的方式有很多,可以自己实现,也可以用Python提供的方法
使用Python提供的方法:
列表.sort()
列表.sort(reverse=True)
自己实现:
num_list = [64, 34, 25, 12, 22, 11, 90]
print(num_list)
n = len(num_list)
# 遍历所有数组元素
for i in range(n):
for j in range(0, n - i - 1):
if num_list[j] > num_list[j + 1]:
num_list[j], num_list[j + 1] = num_list[j + 1], num_list[j]
print(num_list)
代码发到这边格式有点乱,有需要的话可以去到黑马程序员社区。有很多计算机技术的基础入门和高级进阶的内容,源码什么的也都有。
10. python中列表的遍历
没有优雅的方法解决,只有不要使用print语句,如楼上所说,或者使用python3.X中的print函数(通过
from __future__ import print_function使能print函数形式)
其实,在python2.X手册中对print语句描述说:(python2.7.2官方帮助文档)
一个空格会被自动打印在每个对象前,
除非:(1)还没有输出写到标准输出中
(2)当最后一个写到标准输出的是一个除了空格‘ ’的空白字符
(3)当最后写到标准输出的不是一个print语句。
所以在apple、banana等每个字符前都有一个空格。(apple的a前也有空格呢!)
一个好的解决办法是使用python3.X中的print函数。
通过在文件前面加上:
from __future__ import print_function
就可以使用print的函数形式了。
print函数的语法:
print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout])
默认下,若没有指定sep,则使用空格。没指定end,则使用换行符。没指定输出文件则输出到标准输出。
例如:print('hello','world',sep='-',end='#')输出:
hello-world#
所以,你的程序可改为:
from __future__ import print_function
list = ["apple", "banana", "grape", "orange"]
for x in range(len(list)):
print('list[%d]:'%x,end='')
for y in range(len(list[x])):
print(list[x][y],sep='',end='')
print('')
至于: 'list[%d]:'%x 这里的百分号,是一个对字符串的操作符。百分号使得百分号前面的字符串中
的%d被百分号后的x的值替换掉。